home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr44 / fs35.zip / FAST.MAN < prev    next >
Text File  |  1995-01-23  |  336KB  |  16,235 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.                             Manu Roibal Prieto
  27.                         Sagastagoitia, 13 2º B izq
  28.                       Barakaldo 48903. Bizkaia. Spain.
  29.                Voice phone 34-4-4992660 FAX/BBS 34-4-4605666
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53. Printout of `FAST.lib 3.50 » Reference'
  54. Printed by the Norton Guides Printer v2.0 (NGP.EXE).
  55.  
  56.  
  57.                                  - Page 1 -
  58. Norton Guide: `FAST.lib 3.50 » Reference'
  59.  
  60.  
  61. Menu List: FAST.lib 1, Data Types
  62.  
  63.  
  64.  
  65.  
  66.     Here I show some simple functions to handle the variables and types
  67.   of data that I hope will be to your liking.
  68.  
  69.  ──────────────────────────────────────────────────────────────────────────────
  70.  
  71.  
  72.  
  73.  Conversions
  74.  
  75.  ──────────────────────────────────────────────────────────────────────────────
  76.  
  77.  
  78.     ASCIIToEBCDIC()
  79.  
  80.          Converts an ASCII string to EBCDIC
  81.  
  82.     Syntax:
  83.  
  84.          ASCIIToEBCDIC( cString ) -> cNewString
  85.  
  86.          cString : The string to convert
  87.  
  88.     Description:
  89.  
  90.          Converts an ASCII string to EBCDIC notation.
  91.  
  92.     Return:
  93.  
  94.          A new string in EBCDIC notation.
  95.  
  96.     Example:
  97.  
  98.          ? ASCIIToEBCDIC( "Hello world" )
  99.  
  100. See Also: "EBCDICToASCII()" 
  101.  
  102.  
  103.     Byte2Hex()
  104.  
  105.          Converts a byte into a hexadecimal string
  106.  
  107.     Syntax:
  108.  
  109.          Byte2Hex ( cByte ) -> cHexadecimal
  110.  
  111.          cByte : Byte to convert.
  112.  
  113.     Description:
  114.  
  115.          Converts a byte into a hexadecimal string.
  116.  
  117.                                  - Page 2 -
  118. Norton Guide: `FAST.lib 3.50 » Reference'
  119.  
  120.  
  121.  
  122.     Return:
  123.  
  124.          Hexadecimal number or NIL if cByte is not a character.
  125.  
  126.     Example:
  127.  
  128.          ? Byte2Hex ( "O" )             // "4F"
  129.  
  130. See Also: "Byte2Bin()" 
  131.  
  132.  
  133.     Byte2Bin()
  134.  
  135.          Converts a byte to a binary string
  136.  
  137.     Syntax:
  138.  
  139.          Byte2Bin ( cByte ) -> cBinary
  140.  
  141.          cByte : Byte to convert.
  142.  
  143.     Description:
  144.  
  145.          Converts a byte to a binary string.
  146.  
  147.     Return:
  148.  
  149.          Binary number or NIL if cByte is not a character.
  150.  
  151.     Example:
  152.  
  153.          ? Byte2Hex ( "O" )             // "01001111"
  154.  
  155. See Also: "Byte2Hex()" 
  156.  
  157.  
  158.     ByteAnd()
  159.  
  160.          Makes an And of two bytes bit to bit
  161.  
  162.     Syntax:
  163.  
  164.          ByteAnd ( cByte1, cByte2 ) -> cNewByte
  165.  
  166.          cByte1 y cByte2 : Bytes to do the And.
  167.  
  168.     Description:
  169.  
  170.          Makes an And Between the two specified bytes and returns the
  171.          new byte as the result.
  172.  
  173.     Return:
  174.  
  175.          The resulting byte of the And or NIL if any of the two entry bytes
  176.  
  177.                                  - Page 3 -
  178. Norton Guide: `FAST.lib 3.50 » Reference'
  179.  
  180.  
  181.          are not character type.
  182.  
  183.     Example:
  184.  
  185.          ? ByteAnd ( "O", "A" )
  186.  
  187. See Also: "ByteNot()" "ByteOr()" 
  188.  
  189.  
  190.     ByteNot()
  191.  
  192.          Makes a Not of the byte bit to bit
  193.  
  194.     Syntax:
  195.  
  196.          ByteNot ( cByte ) -> cnewbyte
  197.  
  198.          cByte : Byte to do the Not.
  199.  
  200.     Description:
  201.  
  202.          Makes a Not of the specified byte and returns the new byte with
  203.          the result.
  204.  
  205.     Return:
  206.  
  207.          The result byte of the Not or NIL if any of the entry bytes is
  208.          not of the type character
  209.  
  210.     Example:
  211.  
  212.          ? ByteNot ( "O" )
  213.  
  214. See Also: "ByteAnd()" "ByteOr()" 
  215.  
  216.  
  217.     ByteOr()
  218.  
  219.          Makes an Or of two bytes bit to bit
  220.  
  221.     Syntax:
  222.  
  223.          ByteOr ( cByte1, cByte2 ) -> cnewbyte
  224.  
  225.          cByte1 y cByte2 : Bytes to do de Or.
  226.  
  227.     Description:
  228.  
  229.          Makes an Or between the two specified bytes and returns the
  230.          new byte with the result.
  231.  
  232.     Return:
  233.  
  234.          The result of the Or or NIL if any of the two bytes is not
  235.          character type.
  236.  
  237.                                  - Page 4 -
  238. Norton Guide: `FAST.lib 3.50 » Reference'
  239.  
  240.  
  241.  
  242.     Example:
  243.  
  244.          ? ByteOr ( "O", "A" )
  245.  
  246. See Also: "ByteAnd()" "ByteNot()" 
  247.  
  248.  
  249.     Color2Num()
  250.  
  251.          Converts a color string into a color numeric
  252.  
  253.     Syntax:
  254.  
  255.          Color2Num ( cColor ) -> nColor
  256.  
  257.          cColor : The color in string format
  258.  
  259.     Description:
  260.  
  261.          Converts a color in string format into numeric format. If the
  262.          entry parameter is a string with more than a color, the style
  263.          "W/B, B/W...", is returned to the numeric value of the first
  264.          element.
  265.  
  266.     Return:
  267.  
  268.          Type color in numeric format.
  269.  
  270.     Example:
  271.  
  272.          ? Color2Num ( "W+/B" )   //   31
  273.  
  274. See Also: "Num2Color()" 
  275.  
  276.  
  277.     Dec2Bin()
  278.  
  279.          Converts a decimal number to a binary string.
  280.  
  281.     Syntax:
  282.  
  283.          Dec2Bin ( nDec ) -> cBinary
  284.  
  285.          nDec : The decimal number to convert.
  286.  
  287.     Description:
  288.  
  289.          Converts a number in decimal base to a string in binary base.
  290.  
  291.     Return:
  292.  
  293.          The binary string.
  294.  
  295.     Example:
  296.  
  297.                                  - Page 5 -
  298. Norton Guide: `FAST.lib 3.50 » Reference'
  299.  
  300.  
  301.  
  302.          ? Dec2Bin ( 10 )   //   "1010"
  303.  
  304. See Also: "Hex2Dec()" "Byte2Hex()" "Byte2Bin()" 
  305.  
  306.  
  307.     DelBit()
  308.  
  309.          Deactivates a bit selected from a byte
  310.  
  311.     Syntax:
  312.  
  313.          DelBit ( cByte, nBitPos ) -> cNewByte
  314.  
  315.          cByte   : Byte to be deactivated.
  316.          nBitPos : Bit position inside the byte.
  317.  
  318.     Description:
  319.  
  320.          Puts to 0 a selected bit from a byte and returns the new byte.
  321.  
  322.     Return:
  323.  
  324.          New byte or NIL if cByte is not a character or nBitPos if is not
  325.          numeric.
  326.  
  327.     Example:
  328.  
  329.          cNewByte := DelBit ( "C", 2 )
  330.  
  331. See Also: "IsBit()" "SetBit()" 
  332.  
  333.  
  334.     EBCDICToASCII()
  335.  
  336.          Converts an EBCDIC string to ASCII
  337.  
  338.     Syntax:
  339.  
  340.          EBCDICToASCII( cString ) -> cNewString
  341.  
  342.          cString : The string to convert
  343.  
  344.     Description:
  345.  
  346.          Converts an EBCDIC string to ASCII notation.
  347.  
  348.     Return:
  349.  
  350.          A new string in ASCII notation.
  351.  
  352.     Example:
  353.  
  354.          ? EBCDICToASCII( "Hello world" )
  355.  
  356.  
  357.                                  - Page 6 -
  358. Norton Guide: `FAST.lib 3.50 » Reference'
  359.  
  360.  
  361. See Also: "ASCIIToEBCDIC()" 
  362.  
  363.  
  364.     Hex2Dec()
  365.  
  366.          Converts a hexadecimal string to a decimal number
  367.  
  368.     Syntax:
  369.  
  370.          Hex2Dec ( cHex ) -> nDec
  371.  
  372.          cHex : The hexadecimal string to be converted.
  373.  
  374.     Description:
  375.  
  376.          Converts a string in hexadecimal base to a integer in
  377.          decimal base.
  378.  
  379.     Return:
  380.  
  381.          The decimal integer.
  382.  
  383.     Example:
  384.  
  385.          ? Hex2Dec ( "FA" )
  386.  
  387. See Also: "Dec2Bin()" "Byte2Hex()" "Byte2Bin()" 
  388.  
  389.  
  390.     Inter()
  391.  
  392.          Interchanges two variables
  393.  
  394.     Syntax:
  395.  
  396.          Inter( xVar1, xVar2 ) -> NIL
  397.  
  398.          xVar1 y xVar2 : The variables to interchange
  399.  
  400.     Description:
  401.  
  402.          Interchanges the value of the variables, that have to be indicated
  403.          in the same way as an array {}.
  404.  
  405.     Return:
  406.  
  407.          Nothing.
  408.  
  409.     Example:
  410.  
  411.          cVar1 := "Hello"
  412.          cVar2 := "Good bye"
  413.  
  414.          Inter( @cVar1, @cVar2 )
  415.          ? cVar1                        // "Good bye"
  416.  
  417.                                  - Page 7 -
  418. Norton Guide: `FAST.lib 3.50 » Reference'
  419.  
  420.  
  421.          ? cVar2                        // "Hello"
  422.  
  423.  
  424.     IsBit()
  425.  
  426.          Determines if Bit 1 or 0
  427.  
  428.     Syntax:
  429.  
  430.          IsBit ( cByte, nBitPos ) -> lIsOn
  431.  
  432.          cByte   : The byte to treat.
  433.          nBitPos : The bit position inside the byte.
  434.  
  435.     Description:
  436.  
  437.          Returns a logic indicating if the selected bit inside the byte
  438.          is 1 or 0
  439.  
  440.     Return:
  441.  
  442.          A logic indicating answer or NIL if cByte is not a character
  443.          or if nBitPos is not numeric.
  444.  
  445.     Example:
  446.  
  447.          lEstaA_1 := IsBit ( "C", 2 )
  448.  
  449. See Also: "DelBit()" "SetBit()" 
  450.  
  451.  
  452.     Num2Color()
  453.  
  454.          Converts a numeric color to a string color
  455.  
  456.     Syntax:
  457.  
  458.          Color2Num ( nColor ) -> cColor
  459.  
  460.          nColor : The color in numeric format
  461.  
  462.     Description:
  463.  
  464.          Converts a color in numeric format to string format. The numeric
  465.          color has to be a value between 0 and 255.
  466.  
  467.     Return:
  468.  
  469.          The color in string format or NIL if the number is bigger than
  470.          255 or smaller than 0.
  471.  
  472.     Example:
  473.  
  474.          ? Num2Color ( 31 )   // "W+/B"
  475.  
  476.  
  477.                                  - Page 8 -
  478. Norton Guide: `FAST.lib 3.50 » Reference'
  479.  
  480.  
  481. See Also: "Color2Num()" 
  482.  
  483.  
  484.     SetBit()
  485.  
  486.          Activates a selected bit from a byte
  487.  
  488.     Syntax:
  489.  
  490.          SetBit ( cByte, nBitPos ) -> cNewByte
  491.  
  492.          cByte   : The byte to treat.
  493.          nBitPos : The position of the bit inside the byte.
  494.  
  495.     Description:
  496.  
  497.          Puts to 1 a selected bit from a byte returning the new byte.
  498.  
  499.     Return:
  500.  
  501.          The new byte or NIL if cByte is not a character or nBitPos is
  502.          not numeric.
  503.  
  504.     Example:
  505.  
  506.          cNewByte := SetBit ( "C", 2 )
  507.  
  508. See Also: "DelBit()" "IsBit()" 
  509.  
  510.  
  511.     Purge()
  512.  
  513.          Purges the value of a variable
  514.  
  515.     Syntax:
  516.  
  517.          Purge ( xVar ) -> xNewVar
  518.  
  519.          xVar : The variable to purge
  520.  
  521.     Description:
  522.  
  523.          Returns a value of the purged parameter, I mean, if xVar is
  524.          numeric returns 0, if character returns spaces, if date "  /  /  "
  525.          if array {}.
  526.  
  527.     Return:
  528.  
  529.          The purged value.
  530.  
  531.     Example:
  532.  
  533.          cNew := Purge ( "Hello" )       // "    "
  534.          cMax := Purge ( { "Hello" } )   // {}
  535.          cMax := Purge ( 123 )           // 0
  536.  
  537.                                  - Page 9 -
  538. Norton Guide: `FAST.lib 3.50 » Reference'
  539.  
  540.  
  541.          cMax := Purge ( .T. )           // .F.
  542.  
  543.  
  544.  
  545.  Imperial and Metric
  546.  
  547.  ──────────────────────────────────────────────────────────────────────────────
  548.  
  549.  
  550.     nAcre2Ha()
  551.  
  552.          Acres into hectares
  553.  
  554.     Syntax:
  555.  
  556.          nAcre2Ha( nNumber ) -> nResul
  557.  
  558.          nNumber : is the value in acres.
  559.  
  560.     Description:
  561.  
  562.          Converts an area from acres into hectares.
  563.  
  564.     Return:
  565.  
  566.          The value of nNumber converted into hectares.
  567.  
  568.     Example:
  569.  
  570.          ? nAcre2Ha( 5 )                        // 2.0234
  571.  
  572. See Also: "nHa2Acre()" 
  573.  
  574.  
  575.     nAcre2M()
  576.  
  577.          Acres into meters
  578.  
  579.     Syntax:
  580.  
  581.          nAcre2M( nNumber ) -> nResul
  582.  
  583.          nNumber : is the value in acres.
  584.  
  585.     Description:
  586.  
  587.          Converts an area from acres into meters.
  588.  
  589.     Return:
  590.  
  591.          The value of nNumber converted into meters.
  592.  
  593.     Example:
  594.  
  595.          ? nAcre2M( 5 )
  596.  
  597.                                  - Page 10 -
  598. Norton Guide: `FAST.lib 3.50 » Reference'
  599.  
  600.  
  601.  
  602. See Also: "nM2Acre()" 
  603.  
  604.  
  605.     nCm2Inch()
  606.  
  607.          Centimeters into inches
  608.  
  609.     Syntax:
  610.  
  611.          nCm2Inch( nNumber ) -> nResul
  612.  
  613.          nNumber : is the value in centimeters.
  614.  
  615.     Description:
  616.  
  617.          Converts a length from centimeters into inches.
  618.  
  619.     Return:
  620.  
  621.          The value of nNumber converted into inches.
  622.  
  623.     Example:
  624.  
  625.          ? nCm2Inch( 30 )                       // 11.811
  626.  
  627. See Also: "nInch2Cm()" 
  628.  
  629.  
  630.     nCC2Inch()
  631.  
  632.          Cubic centimeters into cubic inches
  633.  
  634.     Syntax:
  635.  
  636.          nCC2Inch( nNumber ) -> nResul
  637.  
  638.          nNumber : is the value in cubic centimeters.
  639.  
  640.     Description:
  641.  
  642.          Converts a volume from cubic centimeters into cubic inches.
  643.  
  644.     Return:
  645.  
  646.          The value of nNumber converted into cubic inches.
  647.  
  648.     Example:
  649.  
  650.          ? nCC2Inch( 25 )                       // 1.525
  651.  
  652. See Also: "nInch2CC()" 
  653.  
  654.  
  655.     nCF2Ltr()
  656.  
  657.                                  - Page 11 -
  658. Norton Guide: `FAST.lib 3.50 » Reference'
  659.  
  660.  
  661.  
  662.          Cubic feet into liters
  663.  
  664.     Syntax:
  665.  
  666.          nCF2Ltr( nNumber ) -> nResul
  667.  
  668.          nNumber : is the value in cubic feet.
  669.  
  670.     Description:
  671.  
  672.          Converts a volume from cubic feet into liters.
  673.  
  674.     Return:
  675.  
  676.          The value of nNumber converted into liters.
  677.  
  678.     Example:
  679.  
  680.          ? nCF2Ltr( 2 )                         // 56.657
  681.  
  682. See Also: "nLtr2CF()" 
  683.  
  684.  
  685.     nInch2CC()
  686.  
  687.          Cubic inches into cubic centimeters
  688.  
  689.     Syntax:
  690.  
  691.          nInch2CC( nNumber ) -> nResul
  692.  
  693.          nNumber : is the value in cubic inches.
  694.  
  695.     Description:
  696.  
  697.          Converts a volume from cubic inches into cubic centimeters.
  698.  
  699.     Return:
  700.  
  701.          The value of nNumber converted into cubic centimeters.
  702.  
  703.     Example:
  704.  
  705.          ? nInch2CC( 3 )                        // 49.16
  706.  
  707. See Also: "nCC2Inch()" 
  708.  
  709.  
  710.     nCm2CYd()
  711.  
  712.          Cubic meters into cubic yards
  713.  
  714.     Syntax:
  715.  
  716.  
  717.                                  - Page 12 -
  718. Norton Guide: `FAST.lib 3.50 » Reference'
  719.  
  720.  
  721.          nCm2CYd( nNumber ) -> nResul
  722.  
  723.          nNumber : is the value in cubic meters.
  724.  
  725.     Description:
  726.  
  727.          Converts a volume from cubic meters into cubic yards.
  728.  
  729.     Return:
  730.  
  731.          The value of nNumber converted into cubic yards.
  732.  
  733.     Example:
  734.  
  735.          ? nCm2CYd( 5 )                         // 6.54
  736.  
  737. See Also: "nCYd2Cm()" 
  738.  
  739.  
  740.     nCYd2Cm()
  741.  
  742.          Cubic yards into cubic meters
  743.  
  744.     Syntax:
  745.  
  746.          nCYd2Cm( nNumber ) -> nResul
  747.  
  748.          nNumber : is the value in cubic yards.
  749.  
  750.     Description:
  751.  
  752.          Converts a volume from cubic yards into cubic meters.
  753.  
  754.     Return:
  755.  
  756.          The value of nNumber converted into cubic meters.
  757.  
  758.     Example:
  759.  
  760.          ? nCYd2Cm( 7 )                         // 5.3522
  761.  
  762. See Also: "nCm2CYd()" 
  763.  
  764.  
  765.     nGal2Ltr()
  766.  
  767.          Gallons into liters
  768.  
  769.     Syntax:
  770.  
  771.          nGal2Ltr( nNumber ) -> nResul
  772.  
  773.          nNumber : is the value in gallons.
  774.  
  775.     Description:
  776.  
  777.                                  - Page 13 -
  778. Norton Guide: `FAST.lib 3.50 » Reference'
  779.  
  780.  
  781.  
  782.          Converts a volume from gallons into liters.
  783.  
  784.     Return:
  785.  
  786.          The value of nNumber converted into liters.
  787.  
  788.     Example:
  789.  
  790.          ? nGal2Ltr( 2 )                        // 9.0909
  791.  
  792. See Also: "nLtr2Gal()" 
  793.  
  794.  
  795.     nGr2Oz()
  796.  
  797.          Grams into ounces
  798.  
  799.     Syntax:
  800.  
  801.          nGr2Oz( nNumber ) -> nResul
  802.  
  803.          nNumber : is the value in grams.
  804.  
  805.     Description:
  806.  
  807.          Converts a weight from grams into ounces.
  808.  
  809.     Return:
  810.  
  811.          The value of nNumber converted into ounces.
  812.  
  813.     Example:
  814.  
  815.          ? nGr2Oz( 50 )                         // 1.765
  816.  
  817. See Also: "nOz2Gr()" 
  818.  
  819.  
  820.     nHa2Acre()
  821.  
  822.          Hectares into acres
  823.  
  824.     Syntax:
  825.  
  826.          nHa2Acre( nNumber ) -> nResul
  827.  
  828.          nNumber : is the value in hectares.
  829.  
  830.     Description:
  831.  
  832.          Converts an area from hectares into acres.
  833.  
  834.     Return:
  835.  
  836.  
  837.                                  - Page 14 -
  838. Norton Guide: `FAST.lib 3.50 » Reference'
  839.  
  840.  
  841.          The value of nNumber converted into acres.
  842.  
  843.     Example:
  844.  
  845.          ? nHa2Acre(5)                          // 12.3555
  846.  
  847. See Also: "nAcre2Ha()" 
  848.  
  849.  
  850.     nInch2Cm()
  851.  
  852.          Inches into centimeters
  853.  
  854.     Syntax:
  855.  
  856.          nInch2Cm( nNumber ) -> nResul
  857.  
  858.          nNumber : is the value in inches.
  859.  
  860.     Description:
  861.  
  862.          Converts a length from inches into centimeters.
  863.  
  864.     Return:
  865.  
  866.          The value of nNumber converted into centimeters.
  867.  
  868.     Example:
  869.  
  870.          ? nInch2Cm( 12 )                      // 30.48
  871.  
  872. See Also: "nCm2Inch()" 
  873.  
  874.  
  875.     nKg2Lb()
  876.  
  877.          Kilograms into pounds
  878.  
  879.     Syntax:
  880.  
  881.          nKg2Lb( nNumber ) -> nResul
  882.  
  883.          nNumber : is the value in kilograms.
  884.  
  885.     Description:
  886.  
  887.          To convert a weight from kilograms into pounds.
  888.  
  889.     Return:
  890.  
  891.          The value of nNumber converted into pounds.
  892.  
  893.     Example:
  894.  
  895.          ? nKg2Lb(5)                            // 11.023
  896.  
  897.                                  - Page 15 -
  898. Norton Guide: `FAST.lib 3.50 » Reference'
  899.  
  900.  
  901.  
  902. See Also: "nLb2Kg()" 
  903.  
  904.  
  905.     nLb2Kg()
  906.  
  907.          Pounds into kilograms
  908.  
  909.     Syntax:
  910.  
  911.          nLb2Kg( nNumber ) -> nResul
  912.  
  913.          nNumber : is the value in pounds.
  914.  
  915.     Description:
  916.  
  917.          Converts a weight from pounds into kilograms.
  918.  
  919.     Return:
  920.  
  921.          The value of nNumber converted into kilograms.
  922.  
  923.     Example:
  924.  
  925.          ? nLb2Kg(4)                    // 1.8144
  926.  
  927. See Also: "nKg2Lb()" 
  928.  
  929.  
  930.     nLtr2CF()
  931.  
  932.          Liters into cubic feet
  933.  
  934.     Syntax:
  935.  
  936.          nLtr2CF( nNumber ) -> nResul
  937.  
  938.          nNumber : is the value in liters.
  939.  
  940.     Description:
  941.  
  942.          Converts a volume from liters into cubic feet.
  943.  
  944.     Return:
  945.  
  946.          The value of nNumber converted into cubic feet.
  947.  
  948.     Example:
  949.  
  950.          ? nLtr2CF( 50 )                        // 1.765
  951.  
  952. See Also: "nCF2Ltr()" 
  953.  
  954.  
  955.     nLtr2Gal()
  956.  
  957.                                  - Page 16 -
  958. Norton Guide: `FAST.lib 3.50 » Reference'
  959.  
  960.  
  961.  
  962.          Liters into gallons
  963.  
  964.     Syntax:
  965.  
  966.          nLtr2Gal( nNumber ) -> nResul
  967.  
  968.          nNumber : is the value in liters.
  969.  
  970.     Description:
  971.  
  972.          Converts a volume from liters into gallons.
  973.  
  974.     Return:
  975.  
  976.          The value of nNumber converted into gallons.
  977.  
  978.     Example:
  979.  
  980.          ? nLtr2Gal( 10 )                       // 2.2
  981.  
  982. See Also: "nGal2Ltr()" 
  983.  
  984.  
  985.     nM2Acre()
  986.  
  987.          Meters into acres
  988.  
  989.     Syntax:
  990.  
  991.          nM2Acre( nNumber ) -> nResul
  992.  
  993.          nNumber : is the value in meters.
  994.  
  995.     Description:
  996.  
  997.          Converts an area from meters into acres.
  998.  
  999.     Return:
  1000.  
  1001.          The value of nNumber converted into acres.
  1002.  
  1003.     Example:
  1004.  
  1005.          ? nM2Acre(5)
  1006.  
  1007. See Also: "nAcre2M()" 
  1008.  
  1009.  
  1010.     nMt2Yd()
  1011.  
  1012.          Meters into yards
  1013.  
  1014.     Syntax:
  1015.  
  1016.  
  1017.                                  - Page 17 -
  1018. Norton Guide: `FAST.lib 3.50 » Reference'
  1019.  
  1020.  
  1021.          nMt2Yd( nNumber ) -> nResul
  1022.  
  1023.          nNumber : is the value in meters.
  1024.  
  1025.     Description:
  1026.  
  1027.          Converts a length from meters into yards.
  1028.  
  1029.     Return:
  1030.  
  1031.          The value of nNumber converted into yards
  1032.  
  1033.     Example:
  1034.  
  1035.          ? nMt2Yd( 8 )                          // 8.7488
  1036.  
  1037. See Also: "nYd2Mt()" 
  1038.  
  1039.  
  1040.     nOz2Gr()
  1041.  
  1042.          Ounces into grams
  1043.  
  1044.     Syntax:
  1045.  
  1046.          nOz2Gr( nNumber ) -> nResul
  1047.  
  1048.          nNumber : is the value in ounces.
  1049.  
  1050.     Description:
  1051.  
  1052.          Converts a weight from ounces into grams.
  1053.  
  1054.     Return:
  1055.  
  1056.          The value of nNumber converted into grams.
  1057.  
  1058.     Example:
  1059.  
  1060.          ? nOz2Gr( 4 )                          // 113.31
  1061.  
  1062. See Also: "nGr2Oz()" 
  1063.  
  1064.  
  1065.     nYd2Mt()
  1066.  
  1067.          Yards into meters
  1068.  
  1069.     Syntax:
  1070.  
  1071.          nYd2Mt( nNumber ) -> nResul
  1072.  
  1073.          nNumber : is the value in yards.
  1074.  
  1075.     Description:
  1076.  
  1077.                                  - Page 18 -
  1078. Norton Guide: `FAST.lib 3.50 » Reference'
  1079.  
  1080.  
  1081.  
  1082.          Converts a length from yards into meters.
  1083.  
  1084.     Return:
  1085.  
  1086.          The value of nNumber converted into meters.
  1087.  
  1088.     Example:
  1089.  
  1090.          ? nYd2Mt( 5 )                          // 4.5721
  1091.  
  1092. See Also: "nMt2Yd()" 
  1093.  
  1094.  
  1095.  
  1096.  Array16
  1097.  
  1098.  ──────────────────────────────────────────────────────────────────────────────
  1099.  
  1100.  
  1101.     Add16()
  1102.  
  1103.          Adds an element into an array16
  1104.  
  1105.     Syntax:
  1106.  
  1107.          Add16 ( aArray, xValue ) -> NIL
  1108.  
  1109.          aArray : The array16 previously created
  1110.          xValue : The value of the new element
  1111.  
  1112.     Description:
  1113.  
  1114.          Adds an element to the end of an array16 and initializes it
  1115.          with the xValue value if it is specified.
  1116.  
  1117.     Return:
  1118.  
  1119.          Nothing.
  1120.  
  1121.     Example:
  1122.  
  1123.          a16 := New16 ( 15000, 0 )
  1124.          Add16 ( a16, 0 )          // adds a new element
  1125.  
  1126. See Also: "Get16()" "Len16()" "New16()" "Scan16()" "Set16()" 
  1127.  
  1128.  
  1129.     Get16()
  1130.  
  1131.          Returns an element from an array16
  1132.  
  1133.     Syntax:
  1134.  
  1135.          Get16 ( aArray, nPos ) -> NIL
  1136.  
  1137.                                  - Page 19 -
  1138. Norton Guide: `FAST.lib 3.50 » Reference'
  1139.  
  1140.  
  1141.  
  1142.          aArray : The previously array16 created
  1143.          nPos   : The position to return
  1144.  
  1145.     Description:
  1146.  
  1147.          Returns the value of an array16 position. If nPos is not
  1148.          specified or if is higher than the number of elements of array16
  1149.          the function returns NIL.
  1150.  
  1151.     Return:
  1152.  
  1153.          The value of the specified position or NIL if nPos is not a
  1154.          valid parameter.
  1155.  
  1156.     Example:
  1157.  
  1158.          a16 := New16 ( 15000, 0 )
  1159.          ? Get16 ( a16, 1 )          // Is sure that returns 0
  1160.  
  1161. See Also: "Add16()" "Len16()" "New16()" "Scan16()" "Set16()" 
  1162.  
  1163.  
  1164.     Len16()
  1165.  
  1166.          Returns an array16 length
  1167.  
  1168.     Syntax:
  1169.  
  1170.          Len16 ( aArray ) -> nLen
  1171.  
  1172.          aArray : The previously created array16
  1173.  
  1174.     Description:
  1175.  
  1176.          Returns the length or the number of elements of an array16.
  1177.  
  1178.     Return:
  1179.  
  1180.          The number of elements of the array16.
  1181.  
  1182.     Example:
  1183.  
  1184.          a16 := New16 ( 15000, 0 )
  1185.          Add16 ( a16, 0 )
  1186.          ? Len16 ( a16 )          // 15001
  1187.  
  1188. See Also: "Add16()" "Get16()" "New16()" "Scan16()" "Set16()" 
  1189.  
  1190.  
  1191.     New16()
  1192.  
  1193.          Creates an array structure with 16 million elements
  1194.  
  1195.     Syntax:
  1196.  
  1197.                                  - Page 20 -
  1198. Norton Guide: `FAST.lib 3.50 » Reference'
  1199.  
  1200.  
  1201.  
  1202.          New16 ( nNumItems, xInit ) -> aArray
  1203.  
  1204.          nNumItems : The array number of elements
  1205.          xInit     : The initial value to the array elements
  1206.  
  1207.     Description:
  1208.  
  1209.          Creates a structure of a new type of data that I want to
  1210.          baptize as array16 in honor of its 16 million elements.
  1211.  
  1212.          Actually, if available memory would admit it, which I
  1213.          doubt, you could get 16.777.216 elements.
  1214.  
  1215.     Return:
  1216.  
  1217.          The generated array.
  1218.  
  1219.     Example:
  1220.  
  1221.          New16 ( 125000, 0 )  // creates an 125 element array
  1222.                               // initialized to 0
  1223.  
  1224. See Also: "Add16()" "Get16()" "Len16()" "Scan16()" "Set16()" 
  1225.  
  1226.  
  1227.     Scan16()
  1228.  
  1229.          Looks for an element of an array16
  1230.  
  1231.     Syntax:
  1232.  
  1233.          Scan16 ( aArray, xSearch [, nStart] ) -> nPos
  1234.  
  1235.          aArray  : The previously created array16
  1236.          xSearch : The value to look for into the array
  1237.          nStart  : The initial value of the position to start the looking for.
  1238.                    Is by default the first element
  1239.  
  1240.     Description:
  1241.  
  1242.          Looks for an element in an array16 and returns it's position.
  1243.  
  1244.     Return:
  1245.  
  1246.          The position where the element is found or 0 if it can not be found.
  1247.  
  1248.     Example:
  1249.  
  1250.          a16 := New16 ( 15000, 0 )
  1251.          Add16 ( a16, 1 )
  1252.          ? Len16 ( a16 )            // 15001
  1253.          ? Scan ( a16, 1 )          // Returns 15001 too
  1254.  
  1255. See Also: "Add16()" "Get16()" "Len16()" "New16()" "Set16()" 
  1256.  
  1257.                                  - Page 21 -
  1258. Norton Guide: `FAST.lib 3.50 » Reference'
  1259.  
  1260.  
  1261.  
  1262.  
  1263.     Set16()
  1264.  
  1265.          Puts a value into an array16 position
  1266.  
  1267.     Syntax:
  1268.  
  1269.          Set16 ( aArray, nPos, xValue ) -> NIL
  1270.  
  1271.          aArray : The previously created array16
  1272.          nPos   : The array position to modify
  1273.          xValue : The new value of the specified position
  1274.  
  1275.     Description:
  1276.  
  1277.          Puts a value to an element of an array16. The value of nPos has
  1278.          to be equal or lower to the array16 number of elements.
  1279.  
  1280.     Return:
  1281.  
  1282.          Nothing.
  1283.  
  1284.     Example:
  1285.  
  1286.          a16 := New16 ( 15000, 0 )
  1287.          Set16 ( a16, 100, "Hello" )  // Now the element 100 is "hello"
  1288.  
  1289. See Also: "Add16()" "Get16()" "Len16()" "New16()" "Scan16()" 
  1290.  
  1291.  
  1292.  
  1293.  Array
  1294.  
  1295.  ──────────────────────────────────────────────────────────────────────────────
  1296.  
  1297.  
  1298.     aCar2Arr()
  1299.  
  1300.          Converts a string or memo to an array
  1301.  
  1302.     Syntax:
  1303.  
  1304.          aCar2Arr ( cMemStr, cSep ) -> aArray
  1305.  
  1306.          cMemStr    : The string or memo to treat
  1307.          cSep       : The element separator
  1308.  
  1309.     Description:
  1310.  
  1311.          Converts a string or memo to an array using a character as separator
  1312.          inside the string.
  1313.  
  1314.     Return:
  1315.  
  1316.  
  1317.                                  - Page 22 -
  1318. Norton Guide: `FAST.lib 3.50 » Reference'
  1319.  
  1320.  
  1321.          The generated array.
  1322.  
  1323.     Example:
  1324.  
  1325.          aCar2Arr ( "Fast,Best", "," )     // { "Fast", "Best" }
  1326.          aCar2Arr ( "Best@Fast", "@" )     // { "Best", "Fast" }
  1327.  
  1328.  
  1329.     aMaxArr()
  1330.  
  1331.          Returns the maximum value of an array
  1332.  
  1333.     Syntax:
  1334.  
  1335.          aMaxArr ( aArray ) -> xMax
  1336.  
  1337.          aArray : The array to treat
  1338.  
  1339.     Description:
  1340.  
  1341.          Returns the maximum value of a specified array by the type of data.
  1342.          If is a character array, returns the biggest string and if is a
  1343.          numeric array returns the biggest number...
  1344.  
  1345.     Return:
  1346.  
  1347.          The maximum value or 0 if the array is empty
  1348.  
  1349.     Example:
  1350.  
  1351.          nMax := aMaxArr ( { 2, 3, 1, 9, 7 } )     // 9
  1352.          cMax := aMaxArr ( { "Good", "Bad" } )     // "Good"
  1353.  
  1354. See Also: "aMinArr()" 
  1355.  
  1356.  
  1357.     aMinArr()
  1358.  
  1359.          Returns the minimum value of an array
  1360.  
  1361.     Syntax:
  1362.  
  1363.          aMinArr ( aArray ) -> xMax
  1364.  
  1365.          aArray : The array to treat
  1366.  
  1367.     Description:
  1368.  
  1369.          Returns the minimum value of a specified array by the type of data.
  1370.          If is a character array, returns the smallest string and if it is a
  1371.          numeric array returns the smallest number.
  1372.  
  1373.     Return:
  1374.  
  1375.          The minimum value or 0 if the array is empty.
  1376.  
  1377.                                  - Page 23 -
  1378. Norton Guide: `FAST.lib 3.50 » Reference'
  1379.  
  1380.  
  1381.  
  1382.     Example:
  1383.  
  1384.          nMax := aMinArr ( { 2, 3, 1, 9, 7 } )     // 1
  1385.          cMax := aMinArr ( { "Bad", "Good" } )     // "Bad"
  1386.  
  1387. See Also: "aMaxArr()" 
  1388.  
  1389.  
  1390.     aDimArr()
  1391.  
  1392.          Returns the number of dimensions of an array
  1393.  
  1394.     Syntax:
  1395.  
  1396.          aDimArr ( aArray ) -> nDim
  1397.  
  1398.          aArray : The array to treat
  1399.  
  1400.     Description:
  1401.  
  1402.          Returns the number of dimensions of an array. The array has to be
  1403.          homogeneous since it uses the first position to calculate the
  1404.          dimensions.
  1405.  
  1406.     Return:
  1407.  
  1408.          The array dimensions.
  1409.  
  1410.     Example:
  1411.  
  1412.          nMax := aDimArr ( { 2, 3, 1, 9, 7 } )          // 1
  1413.          nMax := aDimArr ( { { 12, 12 }, { 1, 1 } } )   // 2
  1414.  
  1415. See Also: "aMaxArr()" "aMinArr()" 
  1416.  
  1417.  
  1418.     RestArray()
  1419.  
  1420.          Restores a file array
  1421.  
  1422.     Syntax:
  1423.  
  1424.          RestArray( cFile, @nError ) -> aArray
  1425.  
  1426.          cFile  : The file to be restored
  1427.          nError : The error code returned by DOS. 0 there is no error.
  1428.  
  1429.     Description:
  1430.  
  1431.          Restores any kind of array data except logic for the objects.
  1432.  
  1433.     Return:
  1434.  
  1435.          The restored array.
  1436.  
  1437.                                  - Page 24 -
  1438. Norton Guide: `FAST.lib 3.50 » Reference'
  1439.  
  1440.  
  1441.  
  1442.     Example:
  1443.  
  1444.          aArray := RestArray ( "Fast.arr", @nErr )
  1445.          If nErr == 0
  1446.            Message ( "Ok" )
  1447.          Else
  1448.            Message ( "DOS error number " + Str ( nErr ) )
  1449.          EndIf
  1450.  
  1451. See Also: "SaveArray()" 
  1452.  
  1453.  
  1454.     SaveArray()
  1455.  
  1456.          Saves an array to a file
  1457.  
  1458.     Syntax:
  1459.  
  1460.          SaveArray( aArray, cFile, @nError ) -> NIL
  1461.  
  1462.          aArray   : The array to be saved
  1463.          cFile    : The file to be created
  1464.          nError   : The error code returned by DOS. 0 there is no error.
  1465.  
  1466.     Description:
  1467.  
  1468.          Saves any kind of array data except logic for the objects.
  1469.  
  1470.     Return:
  1471.  
  1472.          Nothing.
  1473.  
  1474.     Example:
  1475.  
  1476.          SaveArray ( { 23, "Hello world", { 12, 32 } }, "Fast.arr", @nErr )
  1477.          If nErr == 0
  1478.            Message ( "Ok" )
  1479.          Else
  1480.            Message ( "DOS error number " + Str ( nErr ) )
  1481.          EndIf
  1482.  
  1483. See Also: "RestArray()" 
  1484.  
  1485.  
  1486.  
  1487.  Date
  1488.  
  1489.  ──────────────────────────────────────────────────────────────────────────────
  1490.  
  1491.  
  1492.     cGetMonth()
  1493.  
  1494.          Returns the specified month.
  1495.  
  1496.  
  1497.                                  - Page 25 -
  1498. Norton Guide: `FAST.lib 3.50 » Reference'
  1499.  
  1500.  
  1501.     Syntax:
  1502.  
  1503.          cGetMonth( nMonth ) -> cMonth
  1504.  
  1505.          nMonth : The month number from 1 to 12
  1506.  
  1507.     Description:
  1508.  
  1509.          Returns the month in character format of the specified month.
  1510.  
  1511.     Return:
  1512.  
  1513.          The month in character mode.
  1514.  
  1515.     Example:
  1516.  
  1517.          ? cGetMonth ( 4 )  // April in international version or
  1518.                             // Abril in spanish version
  1519.  
  1520. See Also: "dToDMY()" "dAddMonth()" "lLeap()" 
  1521.  
  1522.  
  1523.     dToDMY()
  1524.  
  1525.          Converts data type Date to String Day/Month/Year.
  1526.  
  1527.     Syntax:
  1528.  
  1529.          dToDMY( dDate ) -> cDate
  1530.  
  1531.          dDate : Date to evaluate.
  1532.  
  1533.     Description:
  1534.  
  1535.          Returns a string with day/month/year.
  1536.  
  1537.     Return:
  1538.  
  1539.          The date in String format DD/MM/AA or DD/MM/AAAA.
  1540.  
  1541.     Example:
  1542.  
  1543.          ? dToDMY ( Date() )  // 31/01/1993
  1544.  
  1545. See Also: "cGetMonth()" "dAddMonth()" "lLeap()" "dToMDY()" 
  1546.  
  1547.  
  1548.     dToMDY()
  1549.  
  1550.          Converts data type Date to String Month/Day/Year.
  1551.  
  1552.     Syntax:
  1553.  
  1554.          dToMDY( dDate ) -> cDate
  1555.  
  1556.  
  1557.                                  - Page 26 -
  1558. Norton Guide: `FAST.lib 3.50 » Reference'
  1559.  
  1560.  
  1561.          dDate : Date to evaluate.
  1562.  
  1563.     Description:
  1564.  
  1565.          Returns a string with month/day/year.
  1566.  
  1567.     Return:
  1568.  
  1569.          The date in String format MM/DD/AA or MM/DD/AAAA.
  1570.  
  1571.     Example:
  1572.  
  1573.          ? dToMDY ( Date() )  // 01/31/1993
  1574.  
  1575. See Also: "cGetMonth()" "dAddMonth()" "lLeap()" "dToDMY()" 
  1576.  
  1577.  
  1578.     dAddMonth()
  1579.  
  1580.          Adds months to a date and returns a new date
  1581.  
  1582.     Syntax:
  1583.  
  1584.          dAddMonth ( dDate, nMonths ) -> dNewDate
  1585.  
  1586.          dDate   : The starting date.
  1587.          nMonths : The number of months to add.
  1588.  
  1589.     Description:
  1590.  
  1591.          Adds nMonths to dDate and returns the new date.
  1592.  
  1593.     Return:
  1594.  
  1595.          The new date.
  1596.  
  1597.     Example:
  1598.  
  1599.          ? dAddMonth ( Date(), 8 )
  1600.  
  1601. See Also: "cGetMonth()" "dToDMY()" "lLeap()" 
  1602.  
  1603.  
  1604.     lLeap()
  1605.  
  1606.          Returns a logic indicating if it is a leap year
  1607.  
  1608.     Syntax:
  1609.  
  1610.          lLeap ( dDate ) -> lIsLeap
  1611.  
  1612.          dDate : The date to determinate if it is leap or not
  1613.  
  1614.     Description:
  1615.  
  1616.  
  1617.                                  - Page 27 -
  1618. Norton Guide: `FAST.lib 3.50 » Reference'
  1619.  
  1620.  
  1621.          The format of the _SET_FORMAT do not affect the result.
  1622.  
  1623.     Return:
  1624.  
  1625.          .T. if it is leap and .F. it is not.
  1626.  
  1627.     Example:
  1628.  
  1629.          ? lLeap ( Date() )
  1630.  
  1631. See Also: "cGetMonth()" "dToDMY()" "dAddMonth()" 
  1632.  
  1633.  
  1634.     FirstDay()
  1635.  
  1636.          Returns the first day of the month
  1637.  
  1638.     Syntax:
  1639.  
  1640.          FirstDay ( dDate ) -> dFirstDay
  1641.  
  1642.          dDate : The date which month is going to be treated
  1643.  
  1644.     Description:
  1645.  
  1646.          Returns the date of the first day at the specified
  1647.          Date or month of the system data.
  1648.  
  1649.     Return:
  1650.  
  1651.          First day of the month Date.
  1652.  
  1653.     Example:
  1654.  
  1655.          ? FirstDay()                         // 01/03/93
  1656.          ? FirstDay( cTod ( "22/01/92" ) )    // 01/01/92
  1657.  
  1658. See Also: "LastDay()" 
  1659.  
  1660.  
  1661.     Sec2days()
  1662.  
  1663.          Converts a given number of seconds to days
  1664.  
  1665.     Syntax:
  1666.  
  1667.          Sec2days ( nSeconds ) -> nDays
  1668.  
  1669.          nSeconds : The number of seconds to convert
  1670.  
  1671.     Description:
  1672.  
  1673.          Returns the specified number of seconds in days.
  1674.  
  1675.     Return:
  1676.  
  1677.                                  - Page 28 -
  1678. Norton Guide: `FAST.lib 3.50 » Reference'
  1679.  
  1680.  
  1681.  
  1682.          The number of days.
  1683.  
  1684.     Example:
  1685.  
  1686.          ? Sec2Days ( 90000 )           // 1
  1687.  
  1688.  
  1689.     LastDay()
  1690.  
  1691.          Returns the last day of the month
  1692.  
  1693.     Syntax:
  1694.  
  1695.          LastDay ( dDate ) -> dLastDay
  1696.  
  1697.          dDate : The date which month has to be treated
  1698.  
  1699.     Description:
  1700.  
  1701.          Returns the specified last day of the month.
  1702.  
  1703.     Return:
  1704.  
  1705.          The date of the last day of the month.
  1706.  
  1707.     Example:
  1708.  
  1709.          ? LastDay()                         // 31/03/93
  1710.          ? LastDay( cTod ( "22/01/92" ) )    // 31/01/92
  1711.  
  1712. See Also: "FirstDay()" 
  1713.  
  1714.  
  1715.     SToD()
  1716.  
  1717.          Converts a string to Clipper Date
  1718.  
  1719.     Syntax:
  1720.  
  1721.          SToD( cString ) -> dDate
  1722.  
  1723.          cString : The string to convert
  1724.  
  1725.     Description:
  1726.  
  1727.          Converts a string to Clipper date.
  1728.  
  1729.     Return:
  1730.  
  1731.          A date value.
  1732.  
  1733.     Example:
  1734.  
  1735.          dDate := SToD( "19902103" )
  1736.  
  1737.                                  - Page 29 -
  1738. Norton Guide: `FAST.lib 3.50 » Reference'
  1739.  
  1740.  
  1741.          ? DToS( dDate )                // DToS() is a standard Clipper func.
  1742.  
  1743.  
  1744.  
  1745.  Time
  1746.  
  1747.  ──────────────────────────────────────────────────────────────────────────────
  1748.  
  1749.  
  1750.     TimeAMPM()
  1751.  
  1752.          Returns the time in the format am/pm
  1753.  
  1754.     Syntax:
  1755.  
  1756.          TimeAMPM() -> cTime
  1757.  
  1758.     Description:
  1759.  
  1760.          Returns system time in the format 12 hours am/pm.
  1761.  
  1762.     Return:
  1763.  
  1764.          The string with the time.
  1765.  
  1766.     Example:
  1767.  
  1768.          ? TimeAMPM()               //  "11:21:19 pm"
  1769.  
  1770.  
  1771.     Time2Time()
  1772.  
  1773.          Returns the difference between two times
  1774.  
  1775.     Syntax:
  1776.  
  1777.          Time2Time ( cTime1, cTime2 ) -> cDifferentHour
  1778.  
  1779.          cTime1 : The first time or start time
  1780.          cTime2 : The second time or end time
  1781.  
  1782.     Description:
  1783.  
  1784.          cTime2 has to be bigger than cTime1.
  1785.  
  1786.     Return:
  1787.  
  1788.          The difference between both hours as a string.
  1789.  
  1790.     Example:
  1791.  
  1792.          ? Time2Time ( "22:12:12", "23:12:13" )  // "01:00:01"
  1793.  
  1794.  
  1795.  
  1796.  
  1797.                                  - Page 30 -
  1798. Norton Guide: `FAST.lib 3.50 » Reference'
  1799.  
  1800.  
  1801.  Numeric
  1802.  
  1803.  ──────────────────────────────────────────────────────────────────────────────
  1804.  
  1805.  
  1806.     CompNumber()
  1807.  
  1808.          Compress and decompress a Clipper number
  1809.  
  1810.     Syntax:
  1811.  
  1812.          CompNumber( xValue, lMode, nSize, nDecimals ) -> cCompress|nValue
  1813.  
  1814.          xValue    : The number to compress if lMode is .T. or the string
  1815.                      to decompress if lMode is .F.
  1816.          lMode     : .T. to compress and .F. to decompress
  1817.          nSize     : The size of the number. By default 10 digits.
  1818.          nDecimals : The number of decimals. By default 0.
  1819.  
  1820.     Description:
  1821.  
  1822.          Compress a number returning an string or decompress an string
  1823.          returning a Clipper number.
  1824.          Is ideal for save space in a dbf file.
  1825.  
  1826.     Return:
  1827.  
  1828.          An string with the compressed number if lMode is .T. or the number
  1829.          decompressed if lMode is .F.
  1830.  
  1831.     Example:
  1832.  
  1833.          nNumber := 9876543210
  1834.          ? LEN( STR( nNumber ) )                // 10
  1835.          ? LEN( CompNumber( nNumber ) )         // 5
  1836.  
  1837.  
  1838.     Cos()
  1839.  
  1840.          Calculates a cosine number
  1841.  
  1842.     Syntax:
  1843.  
  1844.          Cos( nNumber ) -> nCos
  1845.  
  1846.          nNumber : The number to calculate the cosine from
  1847.  
  1848.     Description:
  1849.  
  1850.          Calculates a cosine number with a numeric method.
  1851.  
  1852.          Warning!!
  1853.          The number has to be in radians, not degrees.
  1854.  
  1855.     Return:
  1856.  
  1857.                                  - Page 31 -
  1858. Norton Guide: `FAST.lib 3.50 » Reference'
  1859.  
  1860.  
  1861.  
  1862.          The specified cosine number or NIL if the number is not
  1863.          specified.
  1864.  
  1865.     Example:
  1866.  
  1867.          Cos( 0 )    //  1.00
  1868.  
  1869. See Also: "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()" 
  1870.  
  1871.  
  1872.     CoSec()
  1873.  
  1874.          Calculates a co-secant number
  1875.  
  1876.     Syntax:
  1877.  
  1878.          CoSec( nNumber ) -> nCoSec
  1879.  
  1880.          nNumber : The number to calculate the co-secant from
  1881.  
  1882.     Description:
  1883.  
  1884.          Calculates a co-secant number with a numeric method.
  1885.  
  1886.          Warning!!
  1887.          The number has to be in radians, not degrees.
  1888.  
  1889.     Return:
  1890.  
  1891.          The specified co-secant number or NIL if the number is not
  1892.          specified.
  1893.  
  1894.     Example:
  1895.  
  1896.          CoSec( 0 )             // 1.00
  1897.  
  1898. See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()" 
  1899.  
  1900.  
  1901.     CoTec()
  1902.  
  1903.          Calculates a co-tangent number
  1904.  
  1905.     Syntax:
  1906.  
  1907.          CoTan( nNumber ) -> nCoTan
  1908.  
  1909.          nNumber : The number to calculate the co-tangent from
  1910.  
  1911.     Description:
  1912.  
  1913.          Calculates a co-tangent number with a numeric method.
  1914.  
  1915.          Warning!!
  1916.  
  1917.                                  - Page 32 -
  1918. Norton Guide: `FAST.lib 3.50 » Reference'
  1919.  
  1920.  
  1921.          The number has to be in radians, not in degrees.
  1922.  
  1923.     Return:
  1924.  
  1925.          The specified co-tangent number or NIL if the number is not
  1926.          specified.
  1927.  
  1928.     Example:
  1929.  
  1930.          CoTan( Deg2Rad ( 45 ) )         // 1.00
  1931.  
  1932. See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()" 
  1933.  
  1934.  
  1935.     Deg2Rad()
  1936.  
  1937.          Converts degrees to radians
  1938.  
  1939.     Syntax:
  1940.  
  1941.          Deg2Rad( nDegree ) -> nRadian
  1942.  
  1943.          nDegree : The number of degrees to convert
  1944.  
  1945.     Description:
  1946.  
  1947.          This function converts a numeric value that specifies an angle in
  1948.          degrees to radians.
  1949.  
  1950.     Return:
  1951.  
  1952.          The number converted to radians or NIL if the number is not
  1953.          specified.
  1954.  
  1955.     Example:
  1956.  
  1957.          Deg2Rad( 180 )    //  3.141592
  1958.  
  1959. See Also: "Cos()" "NumPi()" "Rad2Deg()" "Sin()" 
  1960.  
  1961.  
  1962.     Exponent()
  1963.  
  1964.          Elevates a number to a given potency
  1965.  
  1966.     Syntax:
  1967.  
  1968.          Exponent( nNumber, nExponent ) -> nNewNumber
  1969.  
  1970.          nNumber   : The number to be elevated.
  1971.          nExponent : The potency to elevate the number to.
  1972.  
  1973.     Description:
  1974.  
  1975.          Elevates a given number to a given potency. The default potency
  1976.  
  1977.                                  - Page 33 -
  1978. Norton Guide: `FAST.lib 3.50 » Reference'
  1979.  
  1980.  
  1981.          is two, which is square.
  1982.  
  1983.     Return:
  1984.  
  1985.          The elevated number.
  1986.  
  1987.     Example:
  1988.  
  1989.          Exponent( 10, 3 )    //  1000
  1990.          Exponent( 10 )       //  100
  1991.  
  1992. See Also: "Factorial()" "Sum()" 
  1993.  
  1994.  
  1995.     Factorial()
  1996.  
  1997.          Returns a factorial number
  1998.  
  1999.     Syntax:
  2000.  
  2001.          Factorial( nNumber ) -> nFactorial
  2002.  
  2003.          nNumber : The number to calculate the factorial from.
  2004.  
  2005.     Description:
  2006.  
  2007.          Calculates a factorial number that has to be 0 or bigger than 0.
  2008.  
  2009.     Return:
  2010.  
  2011.          The specified factorial number or NIL if negative number.
  2012.  
  2013.     Example:
  2014.  
  2015.          Factorial( 4 )    //  24
  2016.  
  2017. See Also: "Exponent()" "Sum()" 
  2018.  
  2019.  
  2020.     Int2Roman()
  2021.  
  2022.          Converts an integer to roman notation
  2023.  
  2024.     Syntax:
  2025.  
  2026.          Int2Roman( nNumber ) -> cRomanNumber
  2027.  
  2028.          nNumber : The number to convert
  2029.  
  2030.     Description:
  2031.  
  2032.          Converts an integer to roman notation. The number must be positive.
  2033.  
  2034.     Return:
  2035.  
  2036.  
  2037.                                  - Page 34 -
  2038. Norton Guide: `FAST.lib 3.50 » Reference'
  2039.  
  2040.  
  2041.          A string with the number in roman notation.
  2042.  
  2043.     Example:
  2044.  
  2045.          Int2Roman( 1217 )    //  "MCCXVII"
  2046.  
  2047.  
  2048.     Log10()
  2049.  
  2050.          Returns a logarithm in base 10
  2051.  
  2052.     Syntax:
  2053.  
  2054.          Log10( nNumber ) -> nLogNumber
  2055.  
  2056.          nNumber : The number to calculate the logarithm from.
  2057.  
  2058.     Description:
  2059.  
  2060.          Returns a given logarithm number in base 10 calculated with
  2061.          the use of natural logarithms.
  2062.  
  2063.     Return:
  2064.  
  2065.          The logarithm in base 10 or NIL if negative number.
  2066.  
  2067.     Example:
  2068.  
  2069.          Log10( 10 )    //  1
  2070.  
  2071. See Also: "LogX()" 
  2072.  
  2073.  
  2074.     LogX()
  2075.  
  2076.          Returns the logarithm in any base
  2077.  
  2078.     Syntax:
  2079.  
  2080.          LogX( nNumber, nBase ) -> nLogNumber
  2081.  
  2082.          nNumber : The number to calculate the logarithm from.
  2083.          nBase   : The logarithms base.
  2084.  
  2085.     Description:
  2086.  
  2087.          Returns the logarithm in the specified base.
  2088.  
  2089.          See the function Log10().  It is a separate function because
  2090.          you would most likely use base 10.
  2091.  
  2092.     Return:
  2093.  
  2094.          The logarithm in the specified base or NIL if negative number.
  2095.  
  2096.  
  2097.                                  - Page 35 -
  2098. Norton Guide: `FAST.lib 3.50 » Reference'
  2099.  
  2100.  
  2101.     Example:
  2102.  
  2103.          LogX( 10, 10 )    //  1
  2104.  
  2105. See Also: "Log10()" 
  2106.  
  2107.  
  2108.     nRandom()
  2109.  
  2110.          Generates a random number
  2111.  
  2112.     Syntax:
  2113.  
  2114.          nRandom ( nMax ) -> nNumber
  2115.  
  2116.          nMax : The maximum value able to take for the number.
  2117.  
  2118.     Description:
  2119.  
  2120.          Generates a random number between 0 and the specified max number
  2121.          minus 1.
  2122.          If you desire a random number between, for example, 2 and 5, you
  2123.          would use syntax like this:  nVar := 2 + nRandom ( 3 )
  2124.  
  2125.     Return:
  2126.  
  2127.          The random generated number.
  2128.  
  2129.     Example:
  2130.  
  2131.          nRandom ( 100 )        // a number betwen 0-99
  2132.  
  2133.  
  2134.     NumE()
  2135.  
  2136.          Returns the E number
  2137.  
  2138.     Syntax:
  2139.  
  2140.          NumE() -> nNumber
  2141.  
  2142.     Description:
  2143.  
  2144.          Returns the E number, which can be very valuable in statistic
  2145.          calculus and another areas of mathamatic and numeric analysis.
  2146.  
  2147.     Return:
  2148.  
  2149.          The E number.
  2150.  
  2151.     Example:
  2152.  
  2153.          NumE()    //  2.7183
  2154.  
  2155. See Also: "NumPi()" 
  2156.  
  2157.                                  - Page 36 -
  2158. Norton Guide: `FAST.lib 3.50 » Reference'
  2159.  
  2160.  
  2161.  
  2162.  
  2163.     NumPi()
  2164.  
  2165.          Returns the Pi number
  2166.  
  2167.     Syntax:
  2168.  
  2169.          NumPi() -> nNumber
  2170.  
  2171.     Description:
  2172.  
  2173.          Returns the Pi number, which can be very valuable in statistic
  2174.          calculus and another areas of mathamatic and numeric analysis.
  2175.  
  2176.     Return:
  2177.  
  2178.          The Pi number.
  2179.  
  2180.     Example:
  2181.  
  2182.          NumPi()    //  3.141592
  2183.  
  2184. See Also: "NumE()" 
  2185.  
  2186.  
  2187.     Rad2Deg()
  2188.  
  2189.          Converts radians to degrees
  2190.  
  2191.     Syntax:
  2192.  
  2193.          Rad2Deg( nRadian ) -> nDegree
  2194.  
  2195.          nRadian : The radian number to convert
  2196.  
  2197.     Description:
  2198.  
  2199.          This function converts a numeric value which specifies a radian
  2200.          angle into degrees.
  2201.  
  2202.     Return:
  2203.  
  2204.          The number converted to degrees or NIL if the number is
  2205.          not specified.
  2206.  
  2207.     Example:
  2208.  
  2209.          Rad2Deg( NumPi() )    //  180.00
  2210.  
  2211. See Also: "Deg2Rad()" "Cos()" "NumPi()" "Sin()" 
  2212.  
  2213.  
  2214.     Sum()
  2215.  
  2216.  
  2217.                                  - Page 37 -
  2218. Norton Guide: `FAST.lib 3.50 » Reference'
  2219.  
  2220.  
  2221.          Returns the summation of a number
  2222.  
  2223.     Syntax:
  2224.  
  2225.          Sum( nNumber ) -> nSummation
  2226.  
  2227.          nNumber : The number to calculate the summation from.
  2228.  
  2229.     Description:
  2230.  
  2231.          Calculates the summation of a number that has to be 0 or bigger
  2232.          than 0.
  2233.  
  2234.     Return:
  2235.  
  2236.          The summation of a specified number or NIL if negative number.
  2237.  
  2238.     Example:
  2239.  
  2240.          Sum( 4 )    //  10
  2241.  
  2242. See Also: "Exponent()" "Factorial()" 
  2243.  
  2244.  
  2245.     Sec()
  2246.  
  2247.          Calculates a secant number
  2248.  
  2249.     Syntax:
  2250.  
  2251.          Sec( nNumber ) -> nSec
  2252.  
  2253.          nNumber : The number to calculate the secant from
  2254.  
  2255.     Description:
  2256.  
  2257.          Calculates a secant number with a numeric method.
  2258.  
  2259.          Warning!!
  2260.          The number has to be in radians, not degrees.
  2261.  
  2262.     Return:
  2263.  
  2264.          The specified secant number or NIL if the number is not
  2265.          specified.
  2266.  
  2267.     Example:
  2268.  
  2269.          Sec( Deg2Rad ( 90 ) )         // 1.00
  2270.  
  2271. See Also: "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()" 
  2272.  
  2273.  
  2274.     Sin()
  2275.  
  2276.  
  2277.                                  - Page 38 -
  2278. Norton Guide: `FAST.lib 3.50 » Reference'
  2279.  
  2280.  
  2281.          Calculates a sine number
  2282.  
  2283.     Syntax:
  2284.  
  2285.          Sin( nNumber ) -> nSin
  2286.  
  2287.          nNumber : The number to calculate the sine from
  2288.  
  2289.     Description:
  2290.  
  2291.          Calculates a sine number with a numeric method.
  2292.  
  2293.          Warning!!
  2294.          The number has to be in radians, not degrees.
  2295.  
  2296.     Return:
  2297.  
  2298.          The specified sine number or NIL if the number is not
  2299.          specified.
  2300.  
  2301.     Example:
  2302.  
  2303.          Sin( NumPi() / 2 )    // 1.00
  2304.  
  2305. See Also: "Deg2Rad()" "Cos()" "NumPi()" "Rad2Deg()" 
  2306.  
  2307.  
  2308.     Tan()
  2309.  
  2310.          Calculates a tangent number
  2311.  
  2312.     Syntax:
  2313.  
  2314.          Tan( nNumber ) -> nTan
  2315.  
  2316.          nNumber : The number to calculate the tangent from
  2317.  
  2318.     Description:
  2319.  
  2320.          Calculates a tangent number with a numeric method.
  2321.  
  2322.          Warning!!
  2323.          The number has to be in radians, not degrees.
  2324.  
  2325.     Return:
  2326.  
  2327.          The specified tangent number or NIL if the number is not
  2328.          specified.
  2329.  
  2330.     Example:
  2331.  
  2332.          Sec( Deg2Rad ( 45 ) )         // 1.00
  2333.  
  2334. See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()" 
  2335.  
  2336.  
  2337.                                  - Page 39 -
  2338. Norton Guide: `FAST.lib 3.50 » Reference'
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  String
  2344.  
  2345.  ──────────────────────────────────────────────────────────────────────────────
  2346.  
  2347.  
  2348.     AsciiAdd()
  2349.  
  2350.          Adds or subtracts all elements of a string
  2351.  
  2352.     Syntax:
  2353.  
  2354.          AsciiAdd( cString, nAdds ) -> cNewString
  2355.  
  2356.          cString : The string to manipulate
  2357.          nAdds   : The number to add
  2358.  
  2359.     Description:
  2360.  
  2361.          Adds or subtracts all elements of a string and returns the
  2362.          new string.
  2363.  
  2364.     Return:
  2365.  
  2366.          The new string.
  2367.  
  2368.     Example:
  2369.  
  2370.          ? AsciiAdd( "0123456789", 1 )      //  "123456789:"
  2371.          ? AsciiAdd( "0123456789", -1 )     //  "/012345678"
  2372.  
  2373. See Also: "AsciiSum()" 
  2374.  
  2375.  
  2376.     AsciiSum()
  2377.  
  2378.          Adds all elements of a string
  2379.  
  2380.     Syntax:
  2381.  
  2382.          AsciiSum( cString ) -> nAdds
  2383.  
  2384.          cString : The string to manipulate
  2385.  
  2386.     Description:
  2387.  
  2388.          Adds all ascii values of a specified string.
  2389.  
  2390.     Return:
  2391.  
  2392.          The sum of all ascii values.
  2393.  
  2394.     Example:
  2395.  
  2396.  
  2397.                                  - Page 40 -
  2398. Norton Guide: `FAST.lib 3.50 » Reference'
  2399.  
  2400.  
  2401.          ? AsciiSum( "AB" )             // 131
  2402.  
  2403. See Also: "AsciiAdd()" 
  2404.  
  2405.  
  2406.     At2()
  2407.  
  2408.          Looks for the Nth occurrence in a string
  2409.  
  2410.     Syntax:
  2411.  
  2412.          At2( cSearch, cTarget [, nOcur] ) -> nPos
  2413.  
  2414.          cSearch : The character substring to search for
  2415.          cTarget : The character string to search
  2416.          nOcur   : Number of the occurrence, default is 1
  2417.  
  2418.     Description:
  2419.  
  2420.          The parameters are the same as AT() of the standard library
  2421.          Clipper.lib except for nOcur that indicates the number of the
  2422.          occurrences to return. The default nOcur is 1.
  2423.          The function is Case Sensitive.
  2424.  
  2425.     Return:
  2426.  
  2427.          The same than AT().
  2428.  
  2429.     Example:
  2430.  
  2431.          ? At2 ( "a", "Manu Roibal" )      //  2
  2432.          ? At2 ( "a", "Manu Roibal", 2 )   // 10
  2433.          ? At2 ( "a", "Manu RoibAl", 2 )   // 0
  2434.  
  2435.  
  2436.     aToken()
  2437.  
  2438.          Returns an array of words from a string
  2439.  
  2440.     Syntax:
  2441.  
  2442.          aToken( cString [, cSepara] ) -> aWords
  2443.  
  2444.          cString : The string to treat
  2445.          cSepara : A string with valid word separators. By default
  2446.                    ,;:. ?¿¡!()&/*+-%[]{}"
  2447.  
  2448.     Description:
  2449.  
  2450.          Treats a string as if it were a phrase creating an array of words
  2451.          contained in the string. May be very useful to syntactic analyzers
  2452.          generation, pseudo-compilers...
  2453.  
  2454.     Return:
  2455.  
  2456.  
  2457.                                  - Page 41 -
  2458. Norton Guide: `FAST.lib 3.50 » Reference'
  2459.  
  2460.  
  2461.          An array of words.
  2462.  
  2463.     Example:
  2464.  
  2465.          aArray := aToken ( "Fast Library For Clipper" )
  2466.          For nInd := 1 To Len ( aArray )
  2467.            ? aArray[ nInd ]
  2468.          Next
  2469.  
  2470. See Also: "NumToken()" "Token()" 
  2471.  
  2472.  
  2473.     Capital()
  2474.  
  2475.          Converts the first letters to capitals
  2476.  
  2477.     Syntax:
  2478.  
  2479.          Capital( cString ) -> cNewString
  2480.  
  2481.          cString : The string to convert
  2482.  
  2483.     Description:
  2484.  
  2485.          Converts the whole letter string to lower-case letters except
  2486.          for the first letter of each word which are capital. Respects
  2487.          blankspaces on the left and on the right.
  2488.  
  2489.     Return:
  2490.  
  2491.          The capitalized a string.
  2492.  
  2493.     Example:
  2494.  
  2495.          ? Capital ( " manu ROIBAL " )   // " Manu Roibal "
  2496.  
  2497.  
  2498.     CharEven()
  2499.  
  2500.          Returns a string with the even bytes of another string
  2501.  
  2502.     Syntax:
  2503.  
  2504.          CharEven( cString ) -> cNew
  2505.  
  2506.          cString : The string to manipulate
  2507.  
  2508.     Description:
  2509.  
  2510.          Returns a string with the even bytes of the specified string.
  2511.  
  2512.     Return:
  2513.  
  2514.          The new string.
  2515.  
  2516.  
  2517.                                  - Page 42 -
  2518. Norton Guide: `FAST.lib 3.50 » Reference'
  2519.  
  2520.  
  2521.     Example:
  2522.  
  2523.          ? CharEven( "1234567890" )   // "24680"
  2524.  
  2525. See Also: "CharMix()" "CharOdd()" 
  2526.  
  2527.  
  2528.     CharMix()
  2529.  
  2530.          Mixes two strings and generates another
  2531.  
  2532.     Syntax:
  2533.  
  2534.          CharMix( cStrEven, cStrOdd ) -> cNew
  2535.  
  2536.          cStrEven : The first string to manipulate
  2537.          cStrOdd  : The second string to manipulate
  2538.  
  2539.     Description:
  2540.  
  2541.          Mixes two specified strings and generates another string.
  2542.  
  2543.     Return:
  2544.  
  2545.          The new string.
  2546.  
  2547.     Example:
  2548.  
  2549.          ? CharMix( "02468", "13579" )   // "0123456789"
  2550.  
  2551. See Also: "CharEven()" "CharOdd()" 
  2552.  
  2553.  
  2554.     CharOdd()
  2555.  
  2556.          Returns a string with the odd bytes of another string
  2557.  
  2558.     Syntax:
  2559.  
  2560.          CharOdd( cString ) -> cNew
  2561.  
  2562.          cString : The string to manipulate
  2563.  
  2564.     Description:
  2565.  
  2566.          Returns a string with the odd bytes of the specified string.
  2567.  
  2568.     Return:
  2569.  
  2570.          The new string.
  2571.  
  2572.     Example:
  2573.  
  2574.          ? CharOdd( "1234567890" )   // "13579"
  2575.  
  2576.  
  2577.                                  - Page 43 -
  2578. Norton Guide: `FAST.lib 3.50 » Reference'
  2579.  
  2580.  
  2581. See Also: "CharEven()" "CharMix()" 
  2582.  
  2583.  
  2584.     Expand()
  2585.  
  2586.          Expands a string
  2587.  
  2588.     Syntax:
  2589.  
  2590.          Expand( cString [, cExpand] ) -> cNewString
  2591.  
  2592.          cCadena : The string to expand
  2593.          cExpand : The character to expand with
  2594.  
  2595.     Description:
  2596.  
  2597.  
  2598.          Expands cString with cExpand being placed between each
  2599.          of cString's characters.  cExpand's default value is a
  2600.          blank space.
  2601.  
  2602.     Return:
  2603.  
  2604.          The expanded string.
  2605.  
  2606.     Example:
  2607.  
  2608.          ? Expand ( "Itxaso", "*" )            // I*t*x*a*s*o
  2609.          ? Expand ( "itxaso" )                 // i t x a s o
  2610.          ? Expand ( "Itxaso", "* *" )          // I* *t* *x* *a* *s* *o
  2611.  
  2612.  
  2613.     Like()
  2614.  
  2615.          Compares two strings using wildcards
  2616.  
  2617.     Syntax:
  2618.  
  2619.          Like( cMask, cString ) -> lEqual
  2620.  
  2621.          cMask   : One string may contain the wildcards * and ?
  2622.          cString : The other string to compare
  2623.  
  2624.     Description:
  2625.  
  2626.          Compare two strings with wildcards to one position (?)
  2627.          or wildcards to n positions (*).
  2628.  
  2629.          The function is case sensitive.
  2630.  
  2631.     Return:
  2632.  
  2633.          A logic indicating if the strings are similar or not.
  2634.  
  2635.     Example:
  2636.  
  2637.                                  - Page 44 -
  2638. Norton Guide: `FAST.lib 3.50 » Reference'
  2639.  
  2640.  
  2641.  
  2642.          ? Like ( "*A*",  "Fast" )          // .F.
  2643.          ? Like ( "*a*",  "Fast" )          // .T.
  2644.          ? Like ( "?ast", "Fast" )          // .T.
  2645.  
  2646.  
  2647.     NumToken()
  2648.  
  2649.          Returns the word count of a string
  2650.  
  2651.     Syntax:
  2652.  
  2653.          NumToken( cString [, cSepara] ) -> nWords
  2654.  
  2655.          cString : The string to treat
  2656.          cSepara : A string with valid word separators. By default
  2657.                    ,;:. ?¿¡!()&/*+-%[]{}"
  2658.  
  2659.     Description:
  2660.  
  2661.          Treats a string as if it were a phrase determining the word count.
  2662.  
  2663.          May be very useful to syntactic analyzers generation,
  2664.          pseudo-compilers...
  2665.  
  2666.     Return:
  2667.  
  2668.          The word count.
  2669.  
  2670.     Example:
  2671.  
  2672.          ? NumToken ( "Fast Library For Clipper" )
  2673.  
  2674. See Also: "aToken()" "Token()" 
  2675.  
  2676.  
  2677.     Occurs()
  2678.  
  2679.          Looks for the number of occurrences in a string
  2680.  
  2681.     Syntax:
  2682.  
  2683.          Occurs( cString, cSearch ) -> nTimes
  2684.  
  2685.          cString : The string to search
  2686.          cSearch : The sub-string to look for in cString
  2687.  
  2688.     Description:
  2689.  
  2690.          Returns the number of times that cSearch is in cString.
  2691.  
  2692.          The function is Case Sensitive.
  2693.  
  2694.     Return:
  2695.  
  2696.  
  2697.                                  - Page 45 -
  2698. Norton Guide: `FAST.lib 3.50 » Reference'
  2699.  
  2700.  
  2701.          The number of times that cSearch is in cString.
  2702.  
  2703.     Example:
  2704.  
  2705.          ? Occurs ( "Manu Roibal", "j" )   //  0
  2706.          ? Occurs ( "Manu Roibal", "A" )   //  0
  2707.          ? Occurs ( "Manu Roibal", "a" )   //  2
  2708.  
  2709.  
  2710.     StrGetCar()
  2711.  
  2712.          Returns a character from a string
  2713.  
  2714.     Syntax:
  2715.  
  2716.          StrGetCar( cString, nPos ) -> nChar
  2717.  
  2718.          cString : The string to treat
  2719.          nPos    : The string position to return
  2720.  
  2721.     Description:
  2722.  
  2723.          Returns the ASCII value of the character in the specified
  2724.          position inside the string.
  2725.  
  2726.          This function, in conjunction with StrSetCar() may be very
  2727.          useful when a string is to be treated in C style as if it
  2728.          were character arrays.
  2729.  
  2730.     Return:
  2731.  
  2732.          The ASCII character value.
  2733.  
  2734.     Example:
  2735.  
  2736.          ? StrGetCar ( "Hello World", 1 )      //  72
  2737.          ? StrGetCar ( "Hello world", 0 )      //  NIL
  2738.          ? StrGetCar ( "Hello world", 5 )      //  32
  2739.  
  2740. See Also: "StrSetCar()" 
  2741.  
  2742.  
  2743.     StrSetCar()
  2744.  
  2745.          Modifies a character in a string
  2746.  
  2747.     Syntax:
  2748.  
  2749.          StrSetCar( cString, nPos, nChar ) -> cNewString
  2750.  
  2751.          cString : The string to treat
  2752.          nPos    : The string position modify
  2753.          nChar   : The new character to replace
  2754.  
  2755.     Description:
  2756.  
  2757.                                  - Page 46 -
  2758. Norton Guide: `FAST.lib 3.50 » Reference'
  2759.  
  2760.  
  2761.  
  2762.          Modifies a string at the specified position and returns the new
  2763.          string.
  2764.  
  2765.          This function, in conjunction with StrSetCar() may be very
  2766.          useful when a string is to be treated in C style as if it were
  2767.          character arrays.
  2768.  
  2769.     Return:
  2770.  
  2771.          The modified string.
  2772.  
  2773.     Example:
  2774.  
  2775.          ? StrSetCar ( "Hello world", 1, 32 )   //  " Hello world"
  2776.          ? StrSetCar ( "Hello world", 0, 35 )   //  "Hello world"
  2777.          ? StrSetCar ( "Hello world", 7, 85 )   //  "Hello world"
  2778.  
  2779. See Also: "StrGetCar()" 
  2780.  
  2781.  
  2782.     Token()
  2783.  
  2784.          Returns a string word given a delimiter and occurrence
  2785.  
  2786.     Syntax:
  2787.  
  2788.          Token( cString, [cSepara], [nWord] ) -> cWord
  2789.  
  2790.          cString : The string to treat
  2791.          cSepara : A string with valid word separators. By default
  2792.                    ,;:. ?¿¡!()&/*+-%[]{}"
  2793.          nWord   : The word number to return. By default 1.
  2794.  
  2795.     Description:
  2796.  
  2797.          Treats a string as if it were a phrase determining a specified
  2798.          word from within the string.
  2799.  
  2800.     Return:
  2801.  
  2802.          The specified word or "" if the word number is higher than the
  2803.          maximum number of words in the phrase.
  2804.  
  2805.     Example:
  2806.  
  2807.          ? Token ( "Fast Library For Clipper", , 2 )    // "Library"
  2808.  
  2809. See Also: "aToken()" "NumToken()" 
  2810.  
  2811.  
  2812.  
  2813.  Stack
  2814.  
  2815.  ──────────────────────────────────────────────────────────────────────────────
  2816.  
  2817.                                  - Page 47 -
  2818. Norton Guide: `FAST.lib 3.50 » Reference'
  2819.  
  2820.  
  2821.  
  2822.  
  2823.     StackEmpty()
  2824.  
  2825.          Determines if stack is empty
  2826.  
  2827.     Syntax:
  2828.  
  2829.          StackEmpty( aStack ) -> lEmpty
  2830.  
  2831.          aStack : The created stack with StackNew()
  2832.  
  2833.     Description:
  2834.  
  2835.          Returns a logic indicating if stack is empty.
  2836.  
  2837.     Return:
  2838.  
  2839.          .T. if empty and .F. if it has any element.
  2840.  
  2841.     Example:
  2842.  
  2843.          aStack := StackNew ()
  2844.          StackPush ( aStack, "hello matthew" )
  2845.          If StackEmpty ( aStack )
  2846.            ...
  2847.  
  2848. See Also: "StackHead()" "StackNew()" "StackPop()" "StackPush()" 
  2849.  
  2850.  
  2851.     StackHead()
  2852.  
  2853.          Returns the top of the FIFO stack
  2854.  
  2855.     Syntax:
  2856.  
  2857.          StackHead( aStack ) -> xHeadValue
  2858.  
  2859.          aStack : The created stack with StackNew()
  2860.  
  2861.     Description:
  2862.  
  2863.          Returns the value of the stack top, I mean the last entered
  2864.          value, without removing from stack.
  2865.  
  2866.     Return:
  2867.  
  2868.          The top value of the stack.
  2869.  
  2870.     Example:
  2871.  
  2872.          aStack  := StackNew ()
  2873.          StackPush ( aStack, "hello world" )
  2874.          ? StackHead( aStack )            // "hello world"
  2875.  
  2876.  
  2877.                                  - Page 48 -
  2878. Norton Guide: `FAST.lib 3.50 » Reference'
  2879.  
  2880.  
  2881. See Also: "StackNew()" "StackPop()" "StackPush()" "StackEmpty()" 
  2882.  
  2883.  
  2884.     StackNew()
  2885.  
  2886.          Creates a FIFO type stack
  2887.  
  2888.     Syntax:
  2889.  
  2890.          StackNew() -> aNewStack
  2891.  
  2892.     Description:
  2893.  
  2894.          Creates a empty FIFO type stack. Remember FIFO (First In First Out)
  2895.  
  2896.     Return:
  2897.  
  2898.          The created stack.
  2899.  
  2900.     Example:
  2901.  
  2902.          aStack := StackNew()
  2903.  
  2904. See Also: "StackHead()" "StackPop()" "StackPush()" "StackEmpty()" 
  2905.  
  2906.  
  2907.     StackPop()
  2908.  
  2909.          Removes a stack element
  2910.  
  2911.     Syntax:
  2912.  
  2913.          StackPop( aStack ) -> xOldHead
  2914.  
  2915.          aStack : The stack created with StackNew()
  2916.  
  2917.     Description:
  2918.  
  2919.          Removes a stack element and returns this element's value.
  2920.  
  2921.     Return:
  2922.  
  2923.          The older stack head value.
  2924.  
  2925.     Example:
  2926.  
  2927.          aStack  := StackNew ()
  2928.          StackPush ( aStack, "hello world" )
  2929.          StackPush ( aStack, "Bye bye" )
  2930.          ? StackPop ( aStack )           // "Bye bye"
  2931.          ? StackHead( aStack )           // "hello world"
  2932.  
  2933. See Also: "StackHead()" "StackNew()" "StackPush()" "StackEmpty()" 
  2934.  
  2935.  
  2936.  
  2937.                                  - Page 49 -
  2938. Norton Guide: `FAST.lib 3.50 » Reference'
  2939.  
  2940.  
  2941.     StackPush()
  2942.  
  2943.          Introduces an element into the stack
  2944.  
  2945.     Syntax:
  2946.  
  2947.          StackPush( aStack, xValue ) -> NIL
  2948.  
  2949.          aStack : The created stack with StackNew()
  2950.          xValue : The new value to introduce into the stack
  2951.  
  2952.     Description:
  2953.  
  2954.          Introduces a new element into the stack and places it as stack
  2955.          head.
  2956.  
  2957.     Return:
  2958.  
  2959.          Nothing.
  2960.  
  2961.     Example:
  2962.  
  2963.          aStack := StackNew ()
  2964.          StackPush ( aStack, "hello world" )
  2965.          StackPush ( aStack, "bye" )
  2966.          ? StackHead( aStack )            // "bye"
  2967.  
  2968. See Also: "StackHead()" "StackNew()" "StackPop()" "StackEmpty()" 
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.  
  2981.  
  2982.  
  2983.  
  2984.  
  2985.  
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.                                  - Page 50 -
  2997. Norton Guide: `FAST.lib 3.50 » Reference'
  2998.  
  2999.  
  3000. Menu List: FAST.lib 1, Dbf/Memo
  3001.  
  3002.  
  3003.  
  3004.  
  3005.     Now I open a new section in Fast Library answering to some users. In
  3006.  this section I'll go collecting functions for handling databases and memo
  3007.  fields.
  3008.  
  3009.  ──────────────────────────────────────────────────────────────────────────────
  3010.  
  3011.  
  3012.     Gather()
  3013.  
  3014.          Initializes a register with the information of an array
  3015.  
  3016.     Syntax:
  3017.  
  3018.          Gather( aArray ) -> NIL
  3019.  
  3020.          aArray : An array with the information
  3021.  
  3022.     Description:
  3023.  
  3024.          Initializes a register with the information of an array that
  3025.          previously could have been generated with the Scatter function.
  3026.          The table the data comes from is the one that is in the default
  3027.          work area. This table must be opened.
  3028.  
  3029.     Return:
  3030.  
  3031.          Nothing.
  3032.  
  3033.     Example:
  3034.  
  3035.          use sold new
  3036.          dbGoBotton()
  3037.          aArray := Scatter ()
  3038.          aArray [ 1 ] := "matthew"
  3039.          Gather ( aArray )
  3040.  
  3041. See Also: "Scatter()" 
  3042.  
  3043.  
  3044.     HaveDbt()
  3045.  
  3046.          Indicates if the Dbf has a linked Dbt
  3047.  
  3048.     Syntax:
  3049.  
  3050.          HaveDbt( cDbf ) -> lHave
  3051.  
  3052.          cDbf : The name of the Dbf with extension to be verified
  3053.  
  3054.     Description:
  3055.  
  3056.                                  - Page 51 -
  3057. Norton Guide: `FAST.lib 3.50 » Reference'
  3058.  
  3059.  
  3060.  
  3061.          Indicates if the specified Dbf has a linked Dbt, if it has any
  3062.          memo field.
  3063.  
  3064.     Return:
  3065.  
  3066.          .T. if it has memo fields or .F. if it hasn't
  3067.  
  3068.     Example:
  3069.  
  3070.          ? HaveDbt( "Fast.dbf" )
  3071.  
  3072.  
  3073.     Scatter()
  3074.  
  3075.          Returns an array with the information of a register
  3076.  
  3077.     Syntax:
  3078.  
  3079.          Scatter() -> aArray
  3080.  
  3081.     Description:
  3082.  
  3083.          Returns an array with the information of a register.
  3084.          The table the data comes from is the one that is in the default
  3085.          work area. This table must be opened.
  3086.  
  3087.     Return:
  3088.  
  3089.          An array with the same structure as the register and loaded with
  3090.          the current register of the table.
  3091.  
  3092.     Example:
  3093.  
  3094.          use clients new
  3095.          aArray := Scatter ()
  3096.          aArray [ 1 ] := "Joe"
  3097.          Gather ( aArray )
  3098.  
  3099. See Also: "Gather()" 
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.                                  - Page 52 -
  3116. Norton Guide: `FAST.lib 3.50 » Reference'
  3117.  
  3118.  
  3119. Menu List: FAST.lib 1, Disk and File
  3120.  
  3121.  
  3122.  
  3123.  
  3124.     These next functions are to centralize all accesses to one or more
  3125.  binary files in Clipper.
  3126.  
  3127.     These functions check all kinds of errors that could be produced
  3128.  in a Clipper program when it accesses binary files, like, the file
  3129.  doesn't exist, or trying to access a file without locking it.
  3130.  
  3131.     Besides, you'll be able to forget the I/O errors because all file access
  3132.  functions retry the operation and inform the user if there's some error.
  3133.  
  3134.  ──────────────────────────────────────────────────────────────────────────────
  3135.  
  3136.  
  3137.     ArjFile()
  3138.  
  3139.          Returns the contents of an ARJ file
  3140.  
  3141.     Syntax:
  3142.  
  3143.          ArjFile ( cFile ) -> aARJ
  3144.  
  3145.          cFile : The name of the ARJ file
  3146.  
  3147.     Description:
  3148.  
  3149.          Returns a bidimensional array with information about the contents
  3150.          of an ARJ file.
  3151.  
  3152.          The subarrays have the following format:
  3153.  
  3154.          {
  3155.            { cName, nCompr, nSize, nRatio, dDate, cTime }
  3156.            ...
  3157.            { cName, nCompr, nSize, nRatio, dDate, cTime }
  3158.          }
  3159.  
  3160.          cName          File name
  3161.          nSize          Real size of file
  3162.          nCompr         Compressed size
  3163.          nRatio         Compression ratio
  3164.          dDate          Date of file
  3165.          cTime          Time of file
  3166.  
  3167.     Return:
  3168.  
  3169.          An array with information about the contents of ARJ file.
  3170.  
  3171.     Example:
  3172.  
  3173.          aARJ := ArjFile ( "C:\FastLib\Fast.Arj" )
  3174.  
  3175.                                  - Page 53 -
  3176. Norton Guide: `FAST.lib 3.50 » Reference'
  3177.  
  3178.  
  3179.          For nInd := 1 To Len ( aARJ )
  3180.            For nOther := 1 To Len ( aARJ [ nInd ] )
  3181.              ? aARJ [ nInd, nOther ]
  3182.            Next
  3183.          Next
  3184.  
  3185. See Also: "ZipFile()" 
  3186.  
  3187.  
  3188.     ClipperPath()
  3189.  
  3190.          Returns the Clipper Path
  3191.  
  3192.     Syntax:
  3193.  
  3194.          ClipperPath() -> cPath
  3195.  
  3196.     Description:
  3197.  
  3198.          Returns a string with the Clipper Path.
  3199.  
  3200.     Return:
  3201.  
  3202.          Clipper Path.
  3203.  
  3204.     Example:
  3205.  
  3206.          ? ClipperPath () // C:\DATA;
  3207.  
  3208. See Also: "DOSPath()" 
  3209.  
  3210.  
  3211.     Clp2WKS()
  3212.  
  3213.          Convert a Clipper array to WKS Lotus File
  3214.  
  3215.     Syntax:
  3216.  
  3217.          Clp2WKS( cFile, aSheet ) -> NIL
  3218.  
  3219.          cFile  : The file to create
  3220.          aSheet : A Clipper array with the WorkSheet
  3221.  
  3222.     Description:
  3223.  
  3224.          Convert a Clipper array to WKS Lotus File creating a new file
  3225.          with extensión .WKS.
  3226.  
  3227.     Return:
  3228.  
  3229.          Nothing.
  3230.  
  3231.     Example:
  3232.  
  3233.          FUNCTION Example()
  3234.  
  3235.                                  - Page 54 -
  3236. Norton Guide: `FAST.lib 3.50 » Reference'
  3237.  
  3238.  
  3239.          LOCAL aWorkSheet:={ ;
  3240.                            { "Column 1", "Column 2", "Column 3" }, ;
  3241.                            { 1991,  156,  625, 887,  123, 178   }, ;
  3242.                            { 1992,  161,   75,  72,  124        }, ;
  3243.                            { 1993,  711, -918, 716,  122        }, ;
  3244.                            { 1994, 1932, 1827, 998              }, ;
  3245.                            { 1995,  154,   12,  12, 9912        }, ;
  3246.                            { 1996,  612,   15,   3, 1921, 122   }, ;
  3247.                            { 1997, 18.4,  0.1,   1              }, ;
  3248.                            { 1998, 1213,  121, 121, 2121, 121   } }
  3249.              Clp2Wks( "DEMO", aWorkSheet )
  3250.          RETURN NIL
  3251.  
  3252.  
  3253.     Compress()
  3254.  
  3255.          Compress or decompress a file
  3256.  
  3257.     Syntax:
  3258.  
  3259.          Compress( cFileIn, cFileOut, lMode, bBlock ) -> nResult
  3260.  
  3261.          cFileIn  : Input file
  3262.          cFileOut : Output file
  3263.          lMode    : .T. compress and .F. decompress
  3264.          bBlock   : The codeblock to be evaluated
  3265.  
  3266.     Description:
  3267.  
  3268.          This function allows to compress any type of file. The compress
  3269.          ratio depends of the data type of the file, executable, text...
  3270.          This function decompress the previous compressed files too.
  3271.  
  3272.          The codeblock parametter receives 2 parametters:
  3273.  
  3274.          bBlock := { | x, y | QOut( x, y ) )
  3275.  
  3276.          When compress:
  3277.  
  3278.            x --> The number of bytes loaded.
  3279.            y --> Compression rate.
  3280.  
  3281.          When decompress:
  3282.  
  3283.            x --> The number of bytes loaded.
  3284.            y --> % bytes decompressed
  3285.  
  3286.          There's no limit in file size.
  3287.  
  3288.     Return:
  3289.  
  3290.          Return values:
  3291.              0 (no errors)
  3292.              1 (not enought memory)
  3293.              2 (load error)
  3294.  
  3295.                                  - Page 55 -
  3296. Norton Guide: `FAST.lib 3.50 » Reference'
  3297.  
  3298.  
  3299.              3 (write error)
  3300.  
  3301.     Example:
  3302.  
  3303.          IF Compress( "PROGMAN.EXE", "PROGMAN.LZH", .T., { || NIL } ) == 0
  3304.            ?  "File compress ok. Decompressing with other name..."
  3305.            IF Compress( "PROGMAN.LZH", "OTROPRG.EXE". .F., { || NIL } ) == 0
  3306.              ?? "File decompress ok"
  3307.            ELSE
  3308.              ?  "Errors during decompression"
  3309.            ENDIF
  3310.          ELSE
  3311.            ?  "Errors during compression"
  3312.          ENDIF
  3313.  
  3314.  
  3315.     DirChange()
  3316.  
  3317.          Changes the directory
  3318.  
  3319.     Syntax:
  3320.  
  3321.          DirChange( cNewDirec ) -> nError
  3322.  
  3323.          cNewDirec : New directory
  3324.  
  3325.     Description:
  3326.  
  3327.          Changes the default DOS directory.
  3328.  
  3329.     Return:
  3330.  
  3331.          Returns the DOS error or zero if there is no error.
  3332.  
  3333.     Example:
  3334.  
  3335.          DirChange ( "\OS2\MDOS" )
  3336.  
  3337. See Also: "DirDel()" "DirCreate()" 
  3338.  
  3339.  
  3340.     DirCreate()
  3341.  
  3342.          Creates a directory
  3343.  
  3344.     Syntax:
  3345.  
  3346.          DirCreate( cDirec ) -> nError
  3347.  
  3348.          cDirec : New directory
  3349.  
  3350.     Description:
  3351.  
  3352.          Creates a new directory.
  3353.  
  3354.  
  3355.                                  - Page 56 -
  3356. Norton Guide: `FAST.lib 3.50 » Reference'
  3357.  
  3358.  
  3359.     Return:
  3360.  
  3361.          Returns the DOS error or zero if there is no error.
  3362.  
  3363.     Example:
  3364.  
  3365.          DirCreate ( "\OS2\Midir" )
  3366.  
  3367. See Also: "DirDel()" "DirChange()" 
  3368.  
  3369.  
  3370.     DirDel()
  3371.  
  3372.          Deletes a directory from disk
  3373.  
  3374.     Syntax:
  3375.  
  3376.          DirDel( cDirec ) -> nError
  3377.  
  3378.          cDirec : Directory to delete
  3379.  
  3380.     Description:
  3381.  
  3382.          Deletes a directory. If it's the default directory DirDel() returns
  3383.          error.
  3384.  
  3385.     Return:
  3386.  
  3387.          Returns the DOS error or zero if there is no error.
  3388.  
  3389.     Example:
  3390.  
  3391.          DirDel ( "\OS2\TEMP" )
  3392.  
  3393. See Also: "DirChange()" "DirCreate()" 
  3394.  
  3395.  
  3396.     DirExist()
  3397.  
  3398.          Determines if a directory exists
  3399.  
  3400.     Syntax:
  3401.  
  3402.          DirExist( cDirec ) -> lExist
  3403.  
  3404.          cDirec : Directory to search
  3405.  
  3406.     Description:
  3407.  
  3408.          Determines if a directory is found.
  3409.  
  3410.     Return:
  3411.  
  3412.          .T. if directory is found and .F. if not found.
  3413.  
  3414.  
  3415.                                  - Page 57 -
  3416. Norton Guide: `FAST.lib 3.50 » Reference'
  3417.  
  3418.  
  3419.     Example:
  3420.  
  3421.          ? DirExist ( "C:\OS2\MDOS" )    // .T.
  3422.          ? DirExist ( "A:\DATA" )        // .T.
  3423.  
  3424.  
  3425.     DiskFree()
  3426.  
  3427.          Returns the free space of a disk
  3428.  
  3429.     Syntax:
  3430.  
  3431.          DiskFree( nDisk ) -> nFree
  3432.  
  3433.          nDisk : 0 -> default disk
  3434.                  1 -> A:
  3435.                  2 -> B:
  3436.                  3 -> C:
  3437.                  ...
  3438.  
  3439.     Description:
  3440.  
  3441.          Returns the free space of a specified disk
  3442.  
  3443.     Return:
  3444.  
  3445.          The free space.
  3446.  
  3447.     Example:
  3448.  
  3449.          ? DiskSize( 0 )        // Disk Capacity
  3450.          ? DiskFree( 0 )        // Disk Free
  3451.  
  3452. See Also: "DiskSize()" 
  3453.  
  3454.  
  3455.     DiskSerNum()
  3456.  
  3457.          Returns the disk serial number
  3458.  
  3459.     Syntax:
  3460.  
  3461.          DiskSerNum( [nUnit] ) -> cSerialNumber
  3462.  
  3463.          nUnit : Unit number:
  3464.                  0 -> Default unit
  3465.                  1 -> A:
  3466.                  2 -> B:
  3467.                  3 -> C:
  3468.                  ...
  3469.  
  3470.     Description:
  3471.  
  3472.          Returns the serial number of the disk if it has been formatted
  3473.          with DOS 4.01 or greater.
  3474.  
  3475.                                  - Page 58 -
  3476. Norton Guide: `FAST.lib 3.50 » Reference'
  3477.  
  3478.  
  3479.  
  3480.          The default value for nUnit is 0, is that to say, if no parameters
  3481.          are given, the function returns the serial number of the default unit.
  3482.  
  3483.     Return:
  3484.  
  3485.          A character value with the disk serial number.
  3486.  
  3487.     Example:
  3488.  
  3489.          ? DiskSerNum()           //    "1A3D-66B1"
  3490.  
  3491.  
  3492.     DiskSize()
  3493.  
  3494.          Returns the capacity of a disk
  3495.  
  3496.     Syntax:
  3497.  
  3498.          DiskSize( nDisk ) -> nCapacity
  3499.  
  3500.          nDisk : 0 -> default disk
  3501.                  1 -> A:
  3502.                  2 -> B:
  3503.                  3 -> C:
  3504.                  ...
  3505.  
  3506.     Description:
  3507.  
  3508.          Returns the capacity of a specified disk
  3509.  
  3510.     Return:
  3511.  
  3512.          The capacity.
  3513.  
  3514.     Example:
  3515.  
  3516.          ? DiskSize( 0 )        // Disk Capacity
  3517.          ? DiskFree( 0 )        // Disk Free
  3518.  
  3519. See Also: "DiskFree()" 
  3520.  
  3521.  
  3522.     DOSPath()
  3523.  
  3524.          Returns the DOS Path
  3525.  
  3526.     Syntax:
  3527.  
  3528.          DOSPath () -> cPath
  3529.  
  3530.     Description:
  3531.  
  3532.          Returns the DOS Path as a character value.
  3533.  
  3534.  
  3535.                                  - Page 59 -
  3536. Norton Guide: `FAST.lib 3.50 » Reference'
  3537.  
  3538.  
  3539.     Return:
  3540.  
  3541.          DOS Path.
  3542.  
  3543.     Example:
  3544.  
  3545.          ? DOSPath () // C:\DOS;C:\CLIPPER5\BIN;
  3546.  
  3547. See Also: "ClipperPath()" 
  3548.  
  3549.  
  3550.     fAttributes()
  3551.  
  3552.          Returns the attributes of a file
  3553.  
  3554.     Syntax:
  3555.  
  3556.          fAttributes( cFile ) -> cAttributes
  3557.  
  3558.          cFile : The name of the file
  3559.  
  3560.     Description:
  3561.  
  3562.          Returns the attributes of a file, H if it's a hidden file, S system,
  3563.          A archive and R read only.
  3564.  
  3565.     Return:
  3566.  
  3567.          A character value with attributes or NIL if the file not found.
  3568.  
  3569.     Example:
  3570.  
  3571.          ? fAttributes ( "Fast.txt" )   // "A"
  3572.  
  3573. See Also: "fDate()" "fTime()" "fSize()" 
  3574.  
  3575.  
  3576.     fbClose()
  3577.  
  3578.          Closes binary files
  3579.  
  3580.     Syntax:
  3581.  
  3582.          fbClose( aHandle ) -> NIL
  3583.  
  3584.          aHandle : File handle array to close
  3585.  
  3586.     Description:
  3587.  
  3588.          Closes all the specified files in the array.
  3589.  
  3590.     Return:
  3591.  
  3592.          Nothing.
  3593.  
  3594.  
  3595.                                  - Page 60 -
  3596. Norton Guide: `FAST.lib 3.50 » Reference'
  3597.  
  3598.  
  3599.     Example:
  3600.  
  3601.          fbClose ( { nHandIn, nHandOut, nHandErr } )
  3602.  
  3603. See Also: "fbOpen()" "fbCreate()" "fbWrite()" "fbRead()" 
  3604.  
  3605.  
  3606.     fbCreate()
  3607.  
  3608.          Creates a binary file
  3609.  
  3610.     Syntax:
  3611.  
  3612.          fbCreate( cFile ) -> nHandle
  3613.  
  3614.          cFile : The name of the file
  3615.  
  3616.     Description:
  3617.  
  3618.          Creates a file with name cFile. If cFile exists, it will be truncated
  3619.          to size 0. If there's some error, it retries 5 times and then asks
  3620.          the user if he wants to retry.
  3621.  
  3622.     Return:
  3623.  
  3624.          A file handle or -1 if an error is found.
  3625.  
  3626.     Example:
  3627.  
  3628.          nHandle := fbCreate ( "Fast.txt" )
  3629.  
  3630. See Also: "fbOpen()" "fbClose()" "fbWrite()" "fbRead()" 
  3631.  
  3632.  
  3633.     fbOpen()
  3634.  
  3635.          Opens a binary file
  3636.  
  3637.     Syntax:
  3638.  
  3639.          fbOpen( cFile, nMode ) -> nHandle
  3640.  
  3641.          cFile : The name of the file
  3642.          nMode : DOS open mode
  3643.  
  3644.     Description:
  3645.  
  3646.          Trys to open the file cFile in mode nMode with 5 retries and asks
  3647.          the user if he wants to continue retrying.
  3648.  
  3649.     Return:
  3650.  
  3651.          A file handle or -1 if an error is found.
  3652.  
  3653.     Example:
  3654.  
  3655.                                  - Page 61 -
  3656. Norton Guide: `FAST.lib 3.50 » Reference'
  3657.  
  3658.  
  3659.  
  3660.          nHandle := fbOpen ( "Fast.txt", 0 )
  3661.          If nHandle == -1
  3662.            BoxWarning ( "Open error" )
  3663.          EndIf
  3664.  
  3665. See Also: "fbClose()" "fbCreate()" "fbWrite()" "fbRead()" 
  3666.  
  3667.  
  3668.     fbRead()
  3669.  
  3670.          Reads bytes from a binary file
  3671.  
  3672.     Syntax:
  3673.  
  3674.          fbRead( nHandle, cBuffer, nBuffer, nRead, ;
  3675.                  cFile, lForce ) -> lExit
  3676.  
  3677.          nHandle : The file handle of the file.
  3678.          cBuffer : The buffer to fill.
  3679.          nBuffer : The number of bytes to read.
  3680.          nRead   : Variable that returns the number of bytes read.
  3681.          cFile   : The name of the file.
  3682.          lForce  : Logic value to force nBuffer to be the same value
  3683.                    as nRead.
  3684.  
  3685.     Description:
  3686.  
  3687.          Reads nBuffer bytes from the file (nHandle/cFile) depositing the
  3688.          result in cBuffer. If cBuffer isn't big enough, the function will
  3689.          fill it with spaces at the end.  cFile is used to allow error
  3690.          messages to be displayed. If lForce is .T. the value read from the
  3691.          file must be nBuffer bytes and doesn't return until nRead is equal
  3692.          to that amount.  If lForce is .F. the function returns even though
  3693.          the value nRead hasn't been reached. Forget retries cause the
  3694.          same function checks all of that.
  3695.  
  3696.     Return:
  3697.  
  3698.          If there's some error, returns .F. if not returns .T.
  3699.  
  3700.     Example:
  3701.  
  3702.          cFile     := "Fast.txt"
  3703.          nHand     := fbOpen ( cFile, 0 )
  3704.          nRead     := 0
  3705.          nBuffer   := 100
  3706.          cBuffer   := Space ( nBuffer )
  3707.          lForce    := .F.
  3708.          If ! fbRead( nHand, cBuffer, nBuffer, @nRead, cFile, lForce )
  3709.            BoxWarning ( "The reading has been unsuccessful" )
  3710.          Else
  3711.            BoxWarning ( "I've read " + Str ( nRead ) + " Bytes" )
  3712.          EndIf
  3713.          fbClose ( { nHand } )
  3714.  
  3715.                                  - Page 62 -
  3716. Norton Guide: `FAST.lib 3.50 » Reference'
  3717.  
  3718.  
  3719.  
  3720. See Also: "fbOpen()" "fbClose()" "fbCreate()" "fbWrite()" 
  3721.  
  3722.  
  3723.     fbWrite()
  3724.  
  3725.          Writes to a binary file
  3726.  
  3727.     Syntax:
  3728.  
  3729.          fbWrite ( nHandle, cBuffer, nBuffer, nWrite, ;
  3730.                    cFile, lForce ) -> lexit
  3731.  
  3732.          nHandle : The file handle of the file.
  3733.          cBuffer : The buffer to write to the file.
  3734.          nBuffer : The number of bytes to be written.
  3735.          nWrite  : Variable that returns the number of bytes written.
  3736.          cFile   : The name of the file.
  3737.          lForce  : Logic value to force nBuffer to be the same value
  3738.                    as nWrite.
  3739.  
  3740.     Description:
  3741.  
  3742.          Writes nBuffer bytes from cBuffer to the file (nHandle).  cFile is
  3743.          used to allow error messages to be dislpayed. If lForce is .T. the
  3744.          value written to the file must be nBuffer bytes and doesn't return
  3745.          until nRead is equal to that amount. If lForce is .F. the function
  3746.          returns even though the value nRead hasn't been reached.  Forget
  3747.          retries becuase the same function checks all of that.
  3748.  
  3749.     Return:
  3750.  
  3751.          If there's an error returns .F. if not, returns .T.
  3752.  
  3753.     Example:
  3754.  
  3755.          cFile     := "Fast.txt"
  3756.          nHand     := fbOpen ( cfile, 2 )
  3757.          nWrite    := 100
  3758.          nBuffer   := 100
  3759.          cBuffer   := Space ( nBuffer )
  3760.          lForce    := .T.
  3761.          If ! fbWrite( nHand, cBuffer, nBuffer, @nWrite, cfile, lForce )
  3762.            Warning( "The read has been unsuccessful" )
  3763.          Else
  3764.            Warning( Str( nWrite ) + " must be the same " + Str( nBuffer ) )
  3765.          EndIf
  3766.          fbClose ( { nHand } )
  3767.  
  3768. See Also: "fbOpen()" "fbClose()" "fbCreate()" "fbRead()" 
  3769.  
  3770.  
  3771.     fCopy()
  3772.  
  3773.          Copies a file
  3774.  
  3775.                                  - Page 63 -
  3776. Norton Guide: `FAST.lib 3.50 » Reference'
  3777.  
  3778.  
  3779.  
  3780.     Syntax:
  3781.  
  3782.          fCopy ( cSource, cTarget ) -> nError
  3783.  
  3784.          cSource : Source filename
  3785.          cTarget : Target filename
  3786.  
  3787.     Description:
  3788.  
  3789.          Copies a file returning the same values as the standard function
  3790.          fError().
  3791.  
  3792.     Return:
  3793.  
  3794.          0 if there's no error or a number indicating the error.
  3795.  
  3796.     Example:
  3797.  
  3798.          ? fCopy( "c:\txt\text", "d:\origin\demo.txt" )
  3799.  
  3800.  
  3801.     fDate()
  3802.  
  3803.          Returns the date of a file
  3804.  
  3805.     Syntax:
  3806.  
  3807.          fDate ( cFile ) -> dDate
  3808.  
  3809.          cFile : The name of the file
  3810.  
  3811.     Description:
  3812.  
  3813.          Returns file date as a date value.
  3814.  
  3815.     Return:
  3816.  
  3817.          The date of the file or NIL if file not exists
  3818.  
  3819.     Example:
  3820.  
  3821.          ? fDate ( "Fast.Txt" )  //   22/12/92
  3822.  
  3823. See Also: "fAttributes()" "fTime()" "fSize()" 
  3824.  
  3825.  
  3826.     fDefUnit()
  3827.  
  3828.          Changes the default drive
  3829.  
  3830.     Syntax:
  3831.  
  3832.          fDefUnit( nUnit ) -> NIL
  3833.  
  3834.  
  3835.                                  - Page 64 -
  3836. Norton Guide: `FAST.lib 3.50 » Reference'
  3837.  
  3838.  
  3839.          nUnit : New default drive
  3840.  
  3841.     Description:
  3842.  
  3843.          Changes the default drive to the new specified
  3844.          drive knowing that 0=A:, 1=B;, ...
  3845.  
  3846.     Return:
  3847.  
  3848.          Nothing.
  3849.  
  3850.     Example:
  3851.  
  3852.          fDefUnit ( 1 )  // Change B:
  3853.  
  3854. See Also: "fMaxUnit()" 
  3855.  
  3856.  
  3857.     fDel()
  3858.  
  3859.          Deletes a file from disk
  3860.  
  3861.     Syntax:
  3862.  
  3863.          fDel( cFile ) -> nError
  3864.  
  3865.          cFile : The name of the file
  3866.  
  3867.     Description:
  3868.  
  3869.          Deletes the specified file.
  3870.  
  3871.     Return:
  3872.  
  3873.          Returns the DOS error or zero if there is no error.
  3874.  
  3875.     Example:
  3876.  
  3877.          If fDel ( "\dos\command.com" ) == 0
  3878.            BoxWarning( "Nooooooooo" )
  3879.          EndIf
  3880.  
  3881.  
  3882.     fExtension()
  3883.  
  3884.          Returns the file extension
  3885.  
  3886.     Syntax:
  3887.  
  3888.          fExtension ( cFile ) -> cExtension
  3889.  
  3890.          cFile : The name of the file
  3891.  
  3892.     Description:
  3893.  
  3894.  
  3895.                                  - Page 65 -
  3896. Norton Guide: `FAST.lib 3.50 » Reference'
  3897.  
  3898.  
  3899.          Returns the file extension following the DOS rule for description,
  3900.          that is to say, a name of 8 letters followed by a point and an
  3901.          extension of 3 letters.
  3902.  
  3903.     Return:
  3904.  
  3905.          File extension as a character value or "" if file doesn't exist
  3906.  
  3907.     Example:
  3908.  
  3909.          ? fExtension ( "C:\FastLib\Fast.Txt" ) // Txt
  3910.  
  3911. See Also: "fName()" "fPath()" "fUnit()" 
  3912.  
  3913.  
  3914.     fEof()
  3915.  
  3916.          Determines if a file handle is in EOF
  3917.  
  3918.     Syntax:
  3919.  
  3920.          fEof( fHandle ) -> lEOF
  3921.  
  3922.          fHandle : File handle
  3923.  
  3924.     Description:
  3925.  
  3926.          Determines if a file handle is in EOF.
  3927.  
  3928.     Return:
  3929.  
  3930.          A logic value indicating if the file handle is in EOF.
  3931.  
  3932.     Example:
  3933.  
  3934.          fHandle := fOpen( "demo.txt", 0 )
  3935.          ? fEof( fHandle )
  3936.  
  3937. See Also: "fGoBottom()" "fGoTop()" "fPos()" 
  3938.  
  3939.  
  3940.     fGoBottom()
  3941.  
  3942.          Moves the file handle to end
  3943.  
  3944.     Syntax:
  3945.  
  3946.          fGoBottom( fHandle ) -> nNewPosition
  3947.  
  3948.          fHandle : File handle
  3949.  
  3950.     Description:
  3951.  
  3952.          Moves the file handle to end returning the new position.
  3953.  
  3954.  
  3955.                                  - Page 66 -
  3956. Norton Guide: `FAST.lib 3.50 » Reference'
  3957.  
  3958.  
  3959.     Return:
  3960.  
  3961.          A number with the new position.
  3962.  
  3963.     Example:
  3964.  
  3965.          fHandle := fOpen( "demo.txt", 0 )
  3966.          fGoBottom( fHandle )
  3967.  
  3968. See Also: "fEof()" "fGoTop()" "fPos()" 
  3969.  
  3970.  
  3971.     fGoTop()
  3972.  
  3973.          Moves the file handle to begin
  3974.  
  3975.     Syntax:
  3976.  
  3977.          fGoTop( fHandle ) -> nNewPosition
  3978.  
  3979.          fHandle : File handle
  3980.  
  3981.     Description:
  3982.  
  3983.          Moves the file handle to begin returning the new position.
  3984.  
  3985.     Return:
  3986.  
  3987.          A number with the new position.
  3988.  
  3989.     Example:
  3990.  
  3991.          fHandle := fOpen( "demo.txt", 0 )
  3992.          fGoTop( fHandle )
  3993.  
  3994. See Also: "fEof()" "fGoBottom()" "fPos()" 
  3995.  
  3996.  
  3997.     fMaxUnit()
  3998.  
  3999.          Returns the number of logic DOS drives
  4000.  
  4001.     Syntax:
  4002.  
  4003.          fMaxUnit() -> nDrives
  4004.  
  4005.     Description:
  4006.  
  4007.          Returns the number of logic DOS drives. Frequently, if a Novell
  4008.          net exists a return of 32 is common. Under native DOS a return of 5
  4009.          or the value of LASTDRIVE, which ever is greater.
  4010.  
  4011.     Return:
  4012.  
  4013.          The number of logic DOS drives.
  4014.  
  4015.                                  - Page 67 -
  4016. Norton Guide: `FAST.lib 3.50 » Reference'
  4017.  
  4018.  
  4019.  
  4020.     Example:
  4021.  
  4022.          nDrives := Str ( fMaxUnit () )
  4023.          ? "I have " + nDrives + " on my system."
  4024.  
  4025. See Also: "fDefUnit()" 
  4026.  
  4027.  
  4028.     fName()
  4029.  
  4030.          Returns the name of a file without extension
  4031.  
  4032.     Syntax:
  4033.  
  4034.          fName ( cFile ) -> cName
  4035.  
  4036.          cFile : The name of the file
  4037.  
  4038.     Description:
  4039.  
  4040.          Returns the name of a file following the DOS rule for description,
  4041.          that is to say, a name of 8 letters followed by a point and an
  4042.          extension of 3 letters.
  4043.  
  4044.     Return:
  4045.  
  4046.          The name of a file without extension.
  4047.  
  4048.     Example:
  4049.  
  4050.          ? fName ( "C:\FastLib\Fast.Txt" ) // Fast
  4051.  
  4052. See Also: "fExtension()" "fPath()" "fUnit()" 
  4053.  
  4054.  
  4055.     fPath()
  4056.  
  4057.          Returns the path of a file
  4058.  
  4059.     Syntax:
  4060.  
  4061.          fPath ( cFile ) -> cPath
  4062.  
  4063.          cFile : The name of the file
  4064.  
  4065.     Description:
  4066.  
  4067.          Returns the path of a file following the DOS rule for description,
  4068.          that is to say, a name of 8 letters followed by a point and an
  4069.          extension of 3 letters.
  4070.  
  4071.     Return:
  4072.  
  4073.          The path of the file.
  4074.  
  4075.                                  - Page 68 -
  4076. Norton Guide: `FAST.lib 3.50 » Reference'
  4077.  
  4078.  
  4079.  
  4080.     Example:
  4081.  
  4082.          ? fPath ( "C:\FastLib\Fast.Txt" ) // C:\FastLib\
  4083.  
  4084. See Also: "fExtension()" "fName()" "fUnit()" 
  4085.  
  4086.  
  4087.     fPos()
  4088.  
  4089.          Returns the actual position of a file handle
  4090.  
  4091.     Syntax:
  4092.  
  4093.          fPos( fHandle ) -> nPosition
  4094.  
  4095.          fHandle : File handle
  4096.  
  4097.     Description:
  4098.  
  4099.          Returns the actual position of a file handle. This position is
  4100.          relative to the begining of file.
  4101.  
  4102.     Return:
  4103.  
  4104.          A number with the position.
  4105.  
  4106.     Example:
  4107.  
  4108.          fHandle := fOpen( "demo.txt", 0 )
  4109.          ? fPos( fHandle )
  4110.  
  4111. See Also: "fEof()" "fGoBottom()" "fGoTop()" 
  4112.  
  4113.  
  4114.     fRandom()
  4115.  
  4116.          Generates a random filename
  4117.  
  4118.     Syntax:
  4119.  
  4120.          fRandom() -> cFile
  4121.  
  4122.     Description:
  4123.  
  4124.          Returns a random filename with .TMP extension
  4125.  
  4126.     Return:
  4127.  
  4128.          The name of the file.
  4129.  
  4130.     Example:
  4131.  
  4132.          ? fRandom ()           // "WEDKFGVD.TMP"
  4133.  
  4134.  
  4135.                                  - Page 69 -
  4136. Norton Guide: `FAST.lib 3.50 » Reference'
  4137.  
  4138.  
  4139.  
  4140.     FreeFiles()
  4141.  
  4142.          Returns the number of available DOS File Handles
  4143.  
  4144.     Syntax:
  4145.  
  4146.          FreeFiles() -> nFiles
  4147.  
  4148.     Description:
  4149.  
  4150.          Returns the number of available DOS File Handles as a numeric value.
  4151.  
  4152.     Return:
  4153.  
  4154.          A numeric value of the number of available DOS File Handles.
  4155.  
  4156.     Example:
  4157.  
  4158.          If FreeFiles() < 20
  4159.            BoxWarning ( "I'm sorry but you must have 20 files" )
  4160.          EndIF
  4161.  
  4162.  
  4163.     fSearch()
  4164.  
  4165.          Searches for a string in a file
  4166.  
  4167.     Syntax:
  4168.  
  4169.          fSearch( cFile, cString ) -> aPosition
  4170.  
  4171.          cFile   : The file to searched
  4172.          cString : The string to be found
  4173.  
  4174.     Description:
  4175.  
  4176.          Searches for a string in a file and returns an array with all of the
  4177.          positions that the string has been found or an empty array if
  4178.          the string isn't found in the file.
  4179.  
  4180.     Return:
  4181.  
  4182.          An array from 0 to n elements, each element contains one relative
  4183.          position to the file, starting from 0.
  4184.  
  4185.     Example:
  4186.  
  4187.          aRet := fSearch ( "Test.txt", "i want to be free" )
  4188.          For nInd := 1 To Len ( aRet )
  4189.            ? aRet [ nInd ]
  4190.          Next
  4191.  
  4192.  
  4193.     fSize()
  4194.  
  4195.                                  - Page 70 -
  4196. Norton Guide: `FAST.lib 3.50 » Reference'
  4197.  
  4198.  
  4199.  
  4200.          Returns the size of a file
  4201.  
  4202.     Syntax:
  4203.  
  4204.          fSize ( cFile ) -> nSize
  4205.  
  4206.          cFile : The name of the file
  4207.  
  4208.     Description:
  4209.  
  4210.          Returns the size of a file as a numeric value.
  4211.  
  4212.     Return:
  4213.  
  4214.          The size of the file or NIL if the file is not found.
  4215.  
  4216.     Example:
  4217.  
  4218.          ? fSize ( "Fast.Txt" )  //   112
  4219.  
  4220. See Also: "fAttributes()" "fDate()" "fTime()" 
  4221.  
  4222.  
  4223.     fTime()
  4224.  
  4225.          Returns the time of a file
  4226.  
  4227.     Syntax:
  4228.  
  4229.          fTime ( cFile ) -> cTime
  4230.  
  4231.          cFile : The name of the file
  4232.  
  4233.     Description:
  4234.  
  4235.          Returns the time of a file as a character value.
  4236.  
  4237.     Return:
  4238.  
  4239.          The time of the file or NIL if file not found.
  4240.  
  4241.     Example:
  4242.  
  4243.          ? fTime ( "Fast.Txt" )  //   12:12:13
  4244.  
  4245. See Also: "fAttributes()" "fDate()" "fSize()" 
  4246.  
  4247.  
  4248.     fUnit()
  4249.  
  4250.          Returns the drive where a file exists
  4251.  
  4252.     Syntax:
  4253.  
  4254.  
  4255.                                  - Page 71 -
  4256. Norton Guide: `FAST.lib 3.50 » Reference'
  4257.  
  4258.  
  4259.          fUnit ( cFile ) -> cUnit
  4260.  
  4261.          cFile : The name of the file
  4262.  
  4263.     Description:
  4264.  
  4265.          Returns the drive where a file exists as a character value.
  4266.  
  4267.     Return:
  4268.  
  4269.          The drive where the file was found or NIL if file not found.
  4270.  
  4271.     Example:
  4272.  
  4273.          ? fUnit ( "C:\FastLib\Fast.Txt" ) // C:
  4274.  
  4275. See Also: "fExtension()" "fName()" "fPath()" 
  4276.  
  4277.  
  4278.     GetLabel()
  4279.  
  4280.          Returns the label of a disk
  4281.  
  4282.     Syntax:
  4283.  
  4284.          GetLabel( nUnit ) -> cLabel
  4285.  
  4286.          nUnit : A disk number. 0=Current disk, 1=A:, 2=B:, 3=C:, ...
  4287.  
  4288.     Description:
  4289.  
  4290.          Returns the label of a disk.
  4291.  
  4292.     Return:
  4293.  
  4294.          A string with the label.
  4295.  
  4296.     Example:
  4297.  
  4298.          ? GetLabel ( 0 )               // "MANU ROIBAL"
  4299.  
  4300. See Also: "SetLabel()" 
  4301.  
  4302.  
  4303.     IsBootAble()
  4304.  
  4305.          Determines if the current disk has a boot sector
  4306.  
  4307.     Syntax:
  4308.  
  4309.          IsBootAble() -> lBoot
  4310.  
  4311.     Description:
  4312.  
  4313.          Determines if the current disk has a boot sector.
  4314.  
  4315.                                  - Page 72 -
  4316. Norton Guide: `FAST.lib 3.50 » Reference'
  4317.  
  4318.  
  4319.  
  4320.     Return:
  4321.  
  4322.          A logic value indicating if it has a boot sector.
  4323.  
  4324.     Example:
  4325.  
  4326.          While ! IsBootAble()
  4327.            Warning( "Insert a disk with Operating System" )
  4328.          End
  4329.  
  4330.  
  4331.     IsFloppy()
  4332.  
  4333.          Determines if the current disk is a floppy
  4334.  
  4335.     Syntax:
  4336.  
  4337.          IsFloppy() -> lFloppy
  4338.  
  4339.     Description:
  4340.  
  4341.          Determines if the current disk is a floppy.
  4342.  
  4343.     Return:
  4344.  
  4345.          A logic value indicating if it is a floppy.
  4346.  
  4347.     Example:
  4348.  
  4349.          If IsFloppy()
  4350.            Warning( "Error: You need a hard disk" )
  4351.          EndIf
  4352.  
  4353. See Also: "IsHardDisk()" "IsNetDev()" 
  4354.  
  4355.  
  4356.     IsHardDisk()
  4357.  
  4358.          Determines if the current disk is a hard disk
  4359.  
  4360.     Syntax:
  4361.  
  4362.          IsHardDisk() -> lHard
  4363.  
  4364.     Description:
  4365.  
  4366.          Determines if the current disk is a hard disk.
  4367.  
  4368.     Return:
  4369.  
  4370.          A logic value indicating if it's a hard disk.
  4371.  
  4372.     Example:
  4373.  
  4374.  
  4375.                                  - Page 73 -
  4376. Norton Guide: `FAST.lib 3.50 » Reference'
  4377.  
  4378.  
  4379.          If IsHardDisk()
  4380.            Warning( "You have a hard disk" )
  4381.          EndIf
  4382.  
  4383. See Also: "IsFloppy()" "IsNetDev()" 
  4384.  
  4385.  
  4386.     IsNetDev()
  4387.  
  4388.          Determines if the current disk is a net disk
  4389.  
  4390.     Syntax:
  4391.  
  4392.          IsNetDev() -> lLan
  4393.  
  4394.     Description:
  4395.  
  4396.          Determines if the current disk is a net disk.
  4397.  
  4398.     Return:
  4399.  
  4400.          A logic value indicating if it's a net disk.
  4401.  
  4402.     Example:
  4403.  
  4404.          If IsNetDev()
  4405.            Warning( "You have a LAN" )
  4406.          EndIf
  4407.  
  4408. See Also: "IsFloppy()" "IsHardDisk()" 
  4409.  
  4410.  
  4411.     IsSmartDrv()
  4412.  
  4413.          Determines if SmartDrv has been loaded
  4414.  
  4415.     Syntax:
  4416.  
  4417.          IsSmartDrv() -> lLoaded
  4418.  
  4419.     Description:
  4420.  
  4421.          Determines if SmartDrv has been loaded.
  4422.  
  4423.     Return:
  4424.  
  4425.          A logic value indicating if SMARTDRV.EXE has been loaded.
  4426.  
  4427.     Example:
  4428.  
  4429.          If IsSmartDrv()
  4430.            Warning ( "SmartDrv has been loaded" )
  4431.          EndIf
  4432.  
  4433.  
  4434.  
  4435.                                  - Page 74 -
  4436. Norton Guide: `FAST.lib 3.50 » Reference'
  4437.  
  4438.  
  4439.     LowDiskFirm()
  4440.  
  4441.          Determines the firmware revision of an IDE disk
  4442.  
  4443.     Syntax:
  4444.  
  4445.          LowDiskFirm() -> cFirm
  4446.  
  4447.     Description:
  4448.  
  4449.          Determines the firmware revision of an IDE disk using a low level
  4450.          method.
  4451.          This function is only valid for IDE disks.
  4452.  
  4453.     Return:
  4454.  
  4455.          An string with the firmware revision.
  4456.  
  4457.     Example:
  4458.  
  4459.          ? LowDiskFirm()
  4460.  
  4461. See Also: "LowDiskModel()" "LowDiskSerial()" 
  4462.  
  4463.  
  4464.     LowDiskModel()
  4465.  
  4466.          Determines the model of an IDE disk
  4467.  
  4468.     Syntax:
  4469.  
  4470.          LowDiskModel() -> cModel
  4471.  
  4472.     Description:
  4473.  
  4474.          Determines the model of an IDE disk using a low level method.
  4475.          This function is only valid for IDE disks.
  4476.  
  4477.     Return:
  4478.  
  4479.          An string with the model.
  4480.  
  4481.     Example:
  4482.  
  4483.          ? LowDiskModel()
  4484.  
  4485. See Also: "LowDiskFirm()" "LowDiskSerial()" 
  4486.  
  4487.  
  4488.     LowDiskSerial()
  4489.  
  4490.          Determines the serial number of an IDE disk
  4491.  
  4492.     Syntax:
  4493.  
  4494.  
  4495.                                  - Page 75 -
  4496. Norton Guide: `FAST.lib 3.50 » Reference'
  4497.  
  4498.  
  4499.          LowDiskSerial() -> cSerial
  4500.  
  4501.     Description:
  4502.  
  4503.          Determines the manufacturer serial number of an IDE disk using
  4504.          a low level method.
  4505.          This function is only valid for IDE disks.
  4506.  
  4507.     Return:
  4508.  
  4509.          An string with the serial number.
  4510.  
  4511.     Example:
  4512.  
  4513.          ? LowDiskSerial()
  4514.  
  4515. See Also: "LowDiskFirm()" "LowDiskModel()" 
  4516.  
  4517.  
  4518.     SetLabel()
  4519.  
  4520.          Sets the label on a disk
  4521.  
  4522.     Syntax:
  4523.  
  4524.          SetLabel( nUnit [, cNewLabel] ) -> nError
  4525.  
  4526.          nUnit     : A disk number. 0=Current disk, 1=A:, 2=B:, 3=C:, ...
  4527.          cNewLabel : The new label. Default value is "".
  4528.  
  4529.     Description:
  4530.  
  4531.          Sets the label on a disk.
  4532.  
  4533.     Return:
  4534.  
  4535.          DOS error code or zero if there is no error.
  4536.  
  4537.     Example:
  4538.  
  4539.          cLabel := GetLabel( 0 )
  4540.          ? cLabel                       // returns "MANU ROIBAL"
  4541.          SetLabel( 0 )                  // purges label
  4542.          GetLabel( 0 )                  // returns ""
  4543.          SetLabel( 0, cLabel )          // sets new label
  4544.          ? GetLabel( 0 )                // returns "MANU ROIBAL"
  4545.  
  4546. See Also: "GetLabel()" 
  4547.  
  4548.  
  4549.     SmartFlush()
  4550.  
  4551.          Flushes the caché buffers of SmartDrv
  4552.  
  4553.     Syntax:
  4554.  
  4555.                                  - Page 76 -
  4556. Norton Guide: `FAST.lib 3.50 » Reference'
  4557.  
  4558.  
  4559.  
  4560.          SmartFlush() -> NIL
  4561.  
  4562.     Description:
  4563.  
  4564.          Flushes the caché buffers of SmartDrv.
  4565.          This function is also supported by PC-Cache 8.0.
  4566.  
  4567.     Return:
  4568.  
  4569.          Nothing.
  4570.  
  4571.     Example:
  4572.  
  4573.          SmartFlush()
  4574.  
  4575. See Also: "SmartHits()" "SmartMisses()" "SmartReset()" "SmartSize()" 
  4576.  
  4577.  
  4578.     SmartHits()
  4579.  
  4580.          Returns the number of SmartDrv caché hits
  4581.  
  4582.     Syntax:
  4583.  
  4584.          SmartHits() -> nHits
  4585.  
  4586.     Description:
  4587.  
  4588.          Returns the number of SmartDrv caché hits.
  4589.          This function is also supported by PC-Cache 8.0.
  4590.  
  4591.     Return:
  4592.  
  4593.          A number with the SmartDrv caché hits or NIL if SmartDrv is not
  4594.          loaded.
  4595.  
  4596.     Example:
  4597.  
  4598.          ? SmartHits()
  4599.  
  4600. See Also: "SmartFlush()" "SmartMisses()" "SmartReset()" "SmartSize()" 
  4601.  
  4602.  
  4603.     SmartMisses()
  4604.  
  4605.          Returns the number of SmartDrv caché misses
  4606.  
  4607.     Syntax:
  4608.  
  4609.          SmartMisses() -> nMisses
  4610.  
  4611.     Description:
  4612.  
  4613.          Returns the number of SmartDrv caché misses.
  4614.  
  4615.                                  - Page 77 -
  4616. Norton Guide: `FAST.lib 3.50 » Reference'
  4617.  
  4618.  
  4619.          This function is also supported by PC-Cache 8.0.
  4620.  
  4621.     Return:
  4622.  
  4623.          A number with the SmartDrv caché misses or NIL if SmartDrv is not
  4624.          loaded.
  4625.  
  4626.     Example:
  4627.  
  4628.          ? SmartMisses()
  4629.  
  4630. See Also: "SmartFlush()" "SmartHits()" "SmartReset()" "SmartSize()" 
  4631.  
  4632.  
  4633.     SmartReset()
  4634.  
  4635.          Initializes the caché buffers of SmartDrv
  4636.  
  4637.     Syntax:
  4638.  
  4639.          SmartReset() -> NIL
  4640.  
  4641.     Description:
  4642.  
  4643.          Initializes the caché buffers of SmartDrv.
  4644.          This function is also supported by PC-Cache 8.0.
  4645.  
  4646.     Return:
  4647.  
  4648.          Nothing.
  4649.  
  4650.     Example:
  4651.  
  4652.          SmartReset()
  4653.  
  4654. See Also: "SmartFlush()" "SmartHits()" "SmartMisses()" "SmartSize()" 
  4655.  
  4656.  
  4657.     SmartSize()
  4658.  
  4659.          Returns the caché size of SmartDrv
  4660.  
  4661.     Syntax:
  4662.  
  4663.          SmartSize() -> nSize
  4664.  
  4665.     Description:
  4666.  
  4667.          Returns the caché size of SmartDrv.
  4668.          This function is also supported by PC-Cache 8.0.
  4669.  
  4670.     Return:
  4671.  
  4672.          Caché size in bytes.
  4673.  
  4674.  
  4675.                                  - Page 78 -
  4676. Norton Guide: `FAST.lib 3.50 » Reference'
  4677.  
  4678.  
  4679.     Example:
  4680.  
  4681.          ? SmartSize()
  4682.  
  4683. See Also: "SmartFlush()" "SmartHits()" "SmartMisses()" "SmartSizeWin()" 
  4684.  
  4685.  
  4686.     SmartSizeWin()
  4687.  
  4688.          Returns the caché size of SmartDrv during Windows 3
  4689.  
  4690.     Syntax:
  4691.  
  4692.          SmartSizeWin() -> nSize
  4693.  
  4694.     Description:
  4695.  
  4696.          Returns the caché size of SmartDrv during Windows 3 execution.
  4697.          This function is also supported by PC-Cache 8.0.
  4698.  
  4699.     Return:
  4700.  
  4701.          Caché size in bytes.
  4702.  
  4703.     Example:
  4704.  
  4705.          ? SmartSizeWin()
  4706.  
  4707. See Also: "SmartFlush()" "SmartHits()" "SmartMisses()" "SmartSize()" 
  4708.  
  4709.  
  4710.     ZipFile()
  4711.  
  4712.          Returns the contents of a ZIP file
  4713.  
  4714.     Syntax:
  4715.  
  4716.          ZipFile ( cFile ) -> aZIP
  4717.  
  4718.          cFile : The name of the ZIP file
  4719.  
  4720.     Description:
  4721.  
  4722.          Returns a bidimensional array with information about the contents
  4723.          of ZIP file.
  4724.  
  4725.          The subarrays have the following format:
  4726.  
  4727.          {
  4728.            { cName, cFull, dDate, cTime, nSize, nComp, cRatio, cMeth, nNum }
  4729.            ...
  4730.            { cName, cFull, dDate, cTime, nSize, nComp, cRatio, cMeth, nNum }
  4731.          }
  4732.  
  4733.          cName          File name
  4734.  
  4735.                                  - Page 79 -
  4736. Norton Guide: `FAST.lib 3.50 » Reference'
  4737.  
  4738.  
  4739.          cFull          File name with path
  4740.          dDate          Date of file
  4741.          cTime          Time of file
  4742.          nSize          Real size of file
  4743.          nComp          Compressed size
  4744.          cRatio         Compression ratio
  4745.          cMeth          Compression method
  4746.          nNum           Number of file
  4747.  
  4748.     Return:
  4749.  
  4750.          An array with information about the contents of a ZIP file.
  4751.  
  4752.     Example:
  4753.  
  4754.          aZIP := ZipFile ( "C:\FastLib\Fast.Zip" )
  4755.          For nInd := 1 To Len ( aZIP )
  4756.            For nOther := 1 To Len ( aZIP [ nInd ] )
  4757.              ? aZIP [ nInd, nOther ]
  4758.            Next
  4759.          Next
  4760.  
  4761. See Also: "ArjFile()" 
  4762.  
  4763.  
  4764.  
  4765.  
  4766.  
  4767.  
  4768.  
  4769.  
  4770.  
  4771.  
  4772.  
  4773.  
  4774.  
  4775.  
  4776.  
  4777.  
  4778.  
  4779.  
  4780.  
  4781.  
  4782.  
  4783.  
  4784.  
  4785.  
  4786.  
  4787.  
  4788.  
  4789.  
  4790.  
  4791.  
  4792.  
  4793.  
  4794.                                  - Page 80 -
  4795. Norton Guide: `FAST.lib 3.50 » Reference'
  4796.  
  4797.  
  4798. Menu List: FAST.lib 1, Games
  4799.  
  4800.  
  4801.  
  4802.  
  4803.     What do you want games I say? ... Enjoy yourself!
  4804.  
  4805.  ──────────────────────────────────────────────────────────────────────────────
  4806.  
  4807.  
  4808.     Caos()
  4809.  
  4810.          Reproduce a caos situation on your PC
  4811.  
  4812.     Syntax:
  4813.  
  4814.          Caos() -> NIL
  4815.  
  4816.     Description:
  4817.  
  4818.          It Reproduces a caos situation on your PC pushing the letters.
  4819.          Just write Caos() in your program.
  4820.  
  4821.     Return:
  4822.  
  4823.          Nothing.
  4824.  
  4825.     Example:
  4826.  
  4827.          Caos()
  4828.  
  4829.  
  4830.     IsGame()
  4831.  
  4832.          Indicates if the system has a joystick
  4833.  
  4834.     Syntax:
  4835.  
  4836.          IsGame() -> lExist
  4837.  
  4838.     Description:
  4839.  
  4840.          Determines if the system has a joystick and initializes
  4841.          the BIOS communications area.
  4842.  
  4843.     Return:
  4844.  
  4845.          .T. if there's joystick and .f. if there isn't
  4846.  
  4847.     Example:
  4848.  
  4849.          If IsJoystick()
  4850.            Warning ( "My computer is a gameboy" )
  4851.          EndIf
  4852.  
  4853.  
  4854.                                  - Page 81 -
  4855. Norton Guide: `FAST.lib 3.50 » Reference'
  4856.  
  4857.  
  4858.  
  4859.     jButton1()
  4860.  
  4861.          Indicates if the button 1 of the joystick is pressed
  4862.  
  4863.     Syntax:
  4864.  
  4865.          jButton1() -> lPush
  4866.  
  4867.     Description:
  4868.  
  4869.          Indicates if the button 1 of the first joystick on the system is
  4870.          pressed or not, returning a logic value.
  4871.  
  4872.     Return:
  4873.  
  4874.          .T. if it's pressed or .F. if not.
  4875.  
  4876.     Example:
  4877.  
  4878.          If jButton1()
  4879.            Warning ( "Button 1 is down" )
  4880.          EndIf
  4881.  
  4882. See Also: "jButton2()" 
  4883.  
  4884.  
  4885.     jButton2()
  4886.  
  4887.          Indicates if the button 2 of the joystick is pressed
  4888.  
  4889.     Syntax:
  4890.  
  4891.          jButton2() -> lPush
  4892.  
  4893.     Description:
  4894.  
  4895.          Indicates if the button 2 of the first joystick on the system is
  4896.          pressed or not, returning a logic value.
  4897.  
  4898.     Return:
  4899.  
  4900.          .T. if it's pressed or .F. if not.
  4901.  
  4902.     Example:
  4903.  
  4904.          If jButton2()
  4905.            Warning ( "Button 2 is down" )
  4906.          EndIf
  4907.  
  4908. See Also: "jButton1()" 
  4909.  
  4910.  
  4911.  
  4912.     jClick()
  4913.  
  4914.                                  - Page 82 -
  4915. Norton Guide: `FAST.lib 3.50 » Reference'
  4916.  
  4917.  
  4918.  
  4919.          Indicates if any button of the joystick has been pressed
  4920.  
  4921.     Syntax:
  4922.  
  4923.          jClick() -> lPush
  4924.  
  4925.     Description:
  4926.  
  4927.          Indicates if any button of the joystick has been pressed. To
  4928.          determine which has been used jButton1() and jButton2().
  4929.  
  4930.     Return:
  4931.  
  4932.          A logic value indicating if any button has been pressed.
  4933.  
  4934.     Example:
  4935.  
  4936.          If jClick()
  4937.            Warning ( "Buttons 1 or/and 2 are down" )
  4938.          EndIf
  4939.  
  4940. See Also: "jButton1()" "jButton2()" 
  4941.  
  4942.  
  4943.     jInArea()
  4944.  
  4945.          Determines if the joystick is on a zone
  4946.  
  4947.     Syntax:
  4948.  
  4949.          jInArea( nY1, nX1, nY2, nX2 ) -> lInArea
  4950.  
  4951.          nY1, nX1, nY2, nX2 : The zone's co-ordinates
  4952.  
  4953.     Description:
  4954.  
  4955.          Determines if the joystick's controls is in a range.
  4956.  
  4957.     Return:
  4958.  
  4959.          A logic value indicating if it's inside the specified zone.
  4960.  
  4961.     Example:
  4962.  
  4963.          If jInArea ( 240, 330, 242, 340 )
  4964.            Warning ( "Ok. Joystick is in the middle" )
  4965.          EndIf
  4966.  
  4967.  
  4968.     jPosX()
  4969.  
  4970.          Indicates the X position of the joystick
  4971.  
  4972.     Syntax:
  4973.  
  4974.                                  - Page 83 -
  4975. Norton Guide: `FAST.lib 3.50 » Reference'
  4976.  
  4977.  
  4978.  
  4979.          jPosX() -> nPos
  4980.  
  4981.     Description:
  4982.  
  4983.          Indicates the position on the X co-ordinate of the system's
  4984.          first joystick's control.
  4985.  
  4986.     Return:
  4987.  
  4988.          The X position of the joystick.
  4989.  
  4990.     Example:
  4991.  
  4992.          If jPosX() < 400 .And. jPosX() > 200
  4993.            Warning( "Perfect" )
  4994.          EndIf
  4995.  
  4996. See Also: "jPosY()" 
  4997.  
  4998.  
  4999.     jPosY()
  5000.  
  5001.          Indicates the Y position of the joystick
  5002.  
  5003.     Syntax:
  5004.  
  5005.          jPosY() -> nPos
  5006.  
  5007.     Description:
  5008.  
  5009.          Indicates the position on the Y co-ordinate of the system's
  5010.          first joystick's control.
  5011.  
  5012.     Return:
  5013.  
  5014.          The Y position of the joystick.
  5015.  
  5016.     Example:
  5017.  
  5018.          If jPosY() < 300 .And. jPosY() > 100
  5019.            Warning ( "Ok" )
  5020.          EndIf
  5021.  
  5022. See Also: "jPosX()" 
  5023.  
  5024.  
  5025.     Puzzle()
  5026.  
  5027.          Play a Puzzle made with 100% Clipper Code
  5028.  
  5029.     Syntax:
  5030.  
  5031.          Puzzle( [nY], [nX], [cColor] ) -> lWin
  5032.  
  5033.  
  5034.                                  - Page 84 -
  5035. Norton Guide: `FAST.lib 3.50 » Reference'
  5036.  
  5037.  
  5038.          nY     : Upper row
  5039.          nX     : Left column
  5040.          cColor : The screen's color
  5041.  
  5042.     Description:
  5043.  
  5044.          Enjoy Puzzle.
  5045.  
  5046.     Return:
  5047.  
  5048.          If winner returns .T., the looser else .F.
  5049.  
  5050.     Example:
  5051.  
  5052.          Puzzle()
  5053.  
  5054. See Also: "Serpent()" 
  5055.  
  5056.  
  5057.     Serpent()
  5058.  
  5059.          Play the Snake made with 100% Clipper code
  5060.  
  5061.     Syntax:
  5062.  
  5063.          Serpent( cColor, cColorHead, cColorMark ) -> NIL
  5064.  
  5065.          cColor     : The screen's color and the Snake's body
  5066.          cColorHead : The Snake's head color when it's pressed down
  5067.          cColorMark : The color of the screen's brand
  5068.  
  5069.     Description:
  5070.  
  5071.          Enjoy serpent game.
  5072.  
  5073.     Return:
  5074.  
  5075.          Nothing.
  5076.  
  5077.     Example:
  5078.  
  5079.          Serpent ( "W+/B*", "R+/B*", "G+/B*" )
  5080.  
  5081.  
  5082.     SpeakGame()
  5083.  
  5084.          Generates a sound with the speaker
  5085.  
  5086.     Syntax:
  5087.  
  5088.          SpeakGame( nLapsus ) -> NIL
  5089.  
  5090.          nLapsus : The sound's duration. This value also determines the
  5091.                    frequency of the sound.
  5092.  
  5093.  
  5094.                                  - Page 85 -
  5095. Norton Guide: `FAST.lib 3.50 » Reference'
  5096.  
  5097.  
  5098.     Description:
  5099.  
  5100.          Generates a sound with the speaker accessing at low level
  5101.          and determining the frequency.
  5102.  
  5103.     Return:
  5104.  
  5105.          Nothing.
  5106.  
  5107.     Example:
  5108.  
  5109.          SpeakGame( 10000 )
  5110.  
  5111.  
  5112.  
  5113.  
  5114.  
  5115.  
  5116.  
  5117.  
  5118.  
  5119.  
  5120.  
  5121.  
  5122.  
  5123.  
  5124.  
  5125.  
  5126.  
  5127.  
  5128.  
  5129.  
  5130.  
  5131.  
  5132.  
  5133.  
  5134.  
  5135.  
  5136.  
  5137.  
  5138.  
  5139.  
  5140.  
  5141.  
  5142.  
  5143.  
  5144.  
  5145.  
  5146.  
  5147.  
  5148.  
  5149.  
  5150.  
  5151.  
  5152.  
  5153.                                  - Page 86 -
  5154. Norton Guide: `FAST.lib 3.50 » Reference'
  5155.  
  5156.  
  5157. Menu List: FAST.lib 1, Graphics
  5158.  
  5159.  
  5160.  
  5161.  
  5162.     This section is intended to give Clipper access to the graphic mode,
  5163.  as the standard libraries do not allow use of these video modes.
  5164.  
  5165.     They are very simple functions that don't use external libraries,
  5166.  instead they generate all the line algorithms based on internal
  5167.  calculations. And the code will just increase about 3kb in size!!
  5168.  
  5169.  ──────────────────────────────────────────────────────────────────────────────
  5170.  
  5171.  
  5172.     BackGraph()
  5173.  
  5174.          Draws the back of the 3D graphic
  5175.  
  5176.     Syntax:
  5177.  
  5178.          BackGraph ( cTitle, nMaxValue, nBaseSize ) -> NIL
  5179.  
  5180.          cTitle        : The title of the graphic
  5181.          nMaxValue     : The maximum value of the graphic
  5182.          nBaseSize     : The base size in pixels
  5183.  
  5184.     Description:
  5185.  
  5186.          Draws the back of the 3D graphic including title and scale
  5187.          depending on nMaxValue.
  5188.  
  5189.          In this way, with this function and DrawBar() you can build
  5190.          your graphics.
  5191.  
  5192.     Return:
  5193.  
  5194.          Nothing.
  5195.  
  5196.     Example:
  5197.  
  5198.          SetVGA()
  5199.          BackGraph( "This is a demo", 150000, 60 )
  5200.          Inkey( 0 )
  5201.          TxtMode()
  5202.  
  5203. See Also: "DrawBar()" 
  5204.  
  5205.  
  5206.     Degrade()
  5207.  
  5208.          Makes a progressive degrade of the palette
  5209.  
  5210.     Syntax:
  5211.  
  5212.  
  5213.                                  - Page 87 -
  5214. Norton Guide: `FAST.lib 3.50 » Reference'
  5215.  
  5216.  
  5217.          Degrade( cPalette ) -> NIL
  5218.  
  5219.         cPalette : A string of 768 bytes with the actual palette or with
  5220.                    the one wanted to be taken as reference for the degrade.
  5221.  
  5222.     Description:
  5223.  
  5224.          This function works in sync with the CRT controller so that
  5225.          the degrade can offer a vision of soft and progressive change.
  5226.  
  5227.     Return:
  5228.  
  5229.          Nothing.
  5230.  
  5231.     Example:
  5232.  
  5233.          cPalette := GetPalette()
  5234.          Degrade( cPalette )
  5235.          Upgrade( cPalette )
  5236.  
  5237. See Also: "Upgrade()" "GetPalette()" 
  5238.  
  5239.  
  5240.     DispChar()
  5241.  
  5242.          Writes a character on the screen
  5243.  
  5244.     Syntax:
  5245.  
  5246.          DispChar ( nChar, nX, nY, nFore, nBack ) -> NIL
  5247.  
  5248.          nChar : ASCII value of the character to be printed
  5249.          nX    : Coordinate X
  5250.          nY    : Coordinate Y
  5251.          nFore : The color of the character
  5252.          nBack : The color of the background
  5253.  
  5254.     Description:
  5255.  
  5256.          It writes a character in graphic mode. The mode must be EGA or VGA.
  5257.  
  5258.     Return:
  5259.  
  5260.          Nothing.
  5261.  
  5262.     Example:
  5263.  
  5264.          DispChar ( Asc ( "A" ), 20, 30, 2, 0 )
  5265.  
  5266. See Also: "DispStr()" 
  5267.  
  5268.  
  5269.     DispStr()
  5270.  
  5271.          Writes a string on the screen
  5272.  
  5273.                                  - Page 88 -
  5274. Norton Guide: `FAST.lib 3.50 » Reference'
  5275.  
  5276.  
  5277.  
  5278.     Syntax:
  5279.  
  5280.          DispStr ( cStr, nX, nY, nFore, nBack, nSep ) -> NIL
  5281.  
  5282.          cStr  : The string to be written
  5283.          nX    : Coordinate X
  5284.          nY    : Coordinate Y
  5285.          nFore : The color of characters
  5286.          nBack : The color of the background
  5287.          nSep  : Space between characters. Default 8 points
  5288.  
  5289.     Description:
  5290.  
  5291.          It writes a string in graphic mode. The mode must be EGA or VGA.
  5292.  
  5293.     Return:
  5294.  
  5295.          Nothing.
  5296.  
  5297.     Example:
  5298.  
  5299.          DispStr ( "Write in graphic mode", 20, 30, 2, 0, 10 )
  5300.  
  5301. See Also: "DispChar()" "Outxy()" 
  5302.  
  5303.  
  5304.     DrawBar()
  5305.  
  5306.          Draws a 3D bar
  5307.  
  5308.     Syntax:
  5309.  
  5310.          DrawBar( nX, nY, nHigh, nWide, nShadowLen, ;
  5311.                   nColor, nShadowColor, lDelimiter, nTypeBar ) -> NIL
  5312.  
  5313.          nX           : Coordinate X
  5314.          nY           : Coordinate Y
  5315.          nHigh        : The height of the bar
  5316.                         See example to more information
  5317.          nWide        : The width of the bar
  5318.          nShadowLen   : The size of the shadow
  5319.          nColor       : The color of bar
  5320.          nShadowColor : The color of shadow
  5321.          lDelimiter   : A logic value indicating if you want draw lines
  5322.                         delimiting the bar
  5323.          nTypeBar     : Bar Type
  5324.                           0 : Default, normal bar
  5325.                           1 : top pyramidal bar
  5326.                           2 : bottom pyramidal bar
  5327.                           3 : cylindric bar
  5328.  
  5329.     Description:
  5330.  
  5331.          Draws a 3D bar in graphic mode.
  5332.  
  5333.                                  - Page 89 -
  5334. Norton Guide: `FAST.lib 3.50 » Reference'
  5335.  
  5336.  
  5337.  
  5338.          This function is used by Graph*() functions in FAST.lib.
  5339.          In this way, with this function and BackGraph() you can build
  5340.          your graphics.
  5341.  
  5342.     Return:
  5343.  
  5344.          Nothing.
  5345.  
  5346.     Example:
  5347.  
  5348.          #define BAR_RATE 250
  5349.  
  5350.          nMax  := 0
  5351.          aBars := { 100, 200, 300, 400, 500, 300, 200, 350 }
  5352.  
  5353.          // obtain the max value of the bars
  5354.          aEval( aBars, { | nX | nMax := MAX( nX, nMax ) } )
  5355.  
  5356.          SetVGA()
  5357.          BackGraph( "Tittle", nMax, 80 )
  5358.          FOR nInd := 1 TO LEN( aBars )
  5359.            DrawBar( 100, ;
  5360.                     300 + ( 30 * nInd ), ;
  5361.                     150 / nMax * BAR_RATE, ;
  5362.                     20, 10, 3, 11, .F. )
  5363.          NEXT
  5364.          Inkey( 0 )
  5365.          TxtMode()
  5366.  
  5367. See Also: "BackGraph()" 
  5368.  
  5369.  
  5370.     FliEver()
  5371.  
  5372.          Shows a FLI animation until you press a key
  5373.  
  5374.     Syntax:
  5375.  
  5376.          FliEver( cFileFLI ) -> nResult
  5377.  
  5378.          cFileFLI : The FLI file to show
  5379.  
  5380.     Description:
  5381.  
  5382.          Shows an animation created with Autodesk Animator.
  5383.  
  5384.          The animation of the Fast Library demo program is an example
  5385.          of a CorelDRAW CD.
  5386.  
  5387.     Return:
  5388.  
  5389.          0 or another number indicating an error.
  5390.  
  5391.     Example:
  5392.  
  5393.                                  - Page 90 -
  5394. Norton Guide: `FAST.lib 3.50 » Reference'
  5395.  
  5396.  
  5397.  
  5398.          FliEver( "demo.fli )
  5399.  
  5400. See Also: "FliOnce()" 
  5401.  
  5402.  
  5403.     FliOnce()
  5404.  
  5405.          Shows a FLI animation
  5406.  
  5407.     Syntax:
  5408.  
  5409.          FliOnce( cFileFLI ) -> nResult
  5410.  
  5411.          cFileFLI : The FLI file to show
  5412.  
  5413.     Description:
  5414.  
  5415.          Shows an animation created with Autodesk Animator.
  5416.  
  5417.          The animation of the Fast Library demo program is an example
  5418.          of a CorelDRAW CD.
  5419.  
  5420.     Return:
  5421.  
  5422.          0 or another number indicating an error.
  5423.  
  5424.     Example:
  5425.  
  5426.          FliOnce( "demo.fli )
  5427.  
  5428. See Also: "FliEver()" 
  5429.  
  5430.  
  5431.     gBox()
  5432.  
  5433.          Draws a box in graphic mode
  5434.  
  5435.     Syntax:
  5436.  
  5437.          gBox ( nX1, nY1, nX2, nY2, nColor ) -> NIL
  5438.  
  5439.          nX1    : Initial coordinate X
  5440.          nY1    : Initial coordinate Y
  5441.          nX2    : Final coordinate X
  5442.          nY2    : Final coordinate Y
  5443.          nColor : Numeric value color
  5444.  
  5445.     Description:
  5446.  
  5447.          It draws a box in graphic mode. The mode must be EGA or VGA.
  5448.  
  5449.     Return:
  5450.  
  5451.          Nothing.
  5452.  
  5453.                                  - Page 91 -
  5454. Norton Guide: `FAST.lib 3.50 » Reference'
  5455.  
  5456.  
  5457.  
  5458.     Example:
  5459.  
  5460.          gBox ( 200, 300, 250, 350, 4 )
  5461.  
  5462. See Also: "gLine()" 
  5463.  
  5464.  
  5465.     gCircle()
  5466.  
  5467.          Draws a circle in graphic mode
  5468.  
  5469.     Syntax:
  5470.  
  5471.          gCircle ( nCenterX, nCenterY, nRadius, nColor ) -> NIL
  5472.  
  5473.          nCenterX : Coordinate X of center
  5474.          nCenterY : Coordinate Y of center
  5475.          nRadius  : Radius value
  5476.          nColor   : Numeric value color
  5477.  
  5478.     Description:
  5479.  
  5480.          It draws a circle in graphic mode. The mode must be EGA or VGA.
  5481.  
  5482.     Return:
  5483.  
  5484.          Nothing.
  5485.  
  5486.     Example:
  5487.  
  5488.          gCircle ( 200, 300, 50, 2 )
  5489.  
  5490. See Also: "gEllipse()" 
  5491.  
  5492.  
  5493.     GetPixel()
  5494.  
  5495.          Informs of the color at a point in graphic mode
  5496.  
  5497.     Syntax:
  5498.  
  5499.          GetPixel( nCol, nRow ) -> nColor
  5500.  
  5501.          nCol    : Column of the point to verify
  5502.          nRow    : Row of the point to verify
  5503.  
  5504.     Description:
  5505.  
  5506.          Informs of the color at a point in graphic mode at the
  5507.          specified coordinates.
  5508.  
  5509.     Return:
  5510.  
  5511.          Nothing.
  5512.  
  5513.                                  - Page 92 -
  5514. Norton Guide: `FAST.lib 3.50 » Reference'
  5515.  
  5516.  
  5517.  
  5518.     Example:
  5519.  
  5520.          nMode := SetVGA()
  5521.          If GetPixel ( 330, 240 ) == 0
  5522.            DispChar ( "It's Black", 20, 20, 3, 0, 10 )
  5523.          EndIf
  5524.          Inkey(0)
  5525.          TxtMode()
  5526.  
  5527. See Also: "SetPixel()" 
  5528.  
  5529.  
  5530.     gEllipse()
  5531.  
  5532.          Draws an ellipse in graphic mode
  5533.  
  5534.     Syntax:
  5535.  
  5536.          gEllipse ( nCenterX, nCenterY, nFocusA, nFocusB, nColor ) -> NIL
  5537.  
  5538.          nCenterX : Coordinate X of center
  5539.          nCenterY : Coordinate Y of center
  5540.          nFocusA  : Valor of focus A
  5541.          nFocusB  : Valor of focus B
  5542.          nColor   : Numeric color value
  5543.  
  5544.     Description:
  5545.  
  5546.          It draws an ellipse in graphic mode. The mode must be EGA or VGA.
  5547.  
  5548.     Return:
  5549.  
  5550.          Nothing.
  5551.  
  5552.     Example:
  5553.  
  5554.          gEllipse ( 200, 300, 60, 50, 3 )
  5555.  
  5556. See Also: "gCircle()" 
  5557.  
  5558.  
  5559.     gifColors()
  5560.  
  5561.          Returns the number of colors of a GIF
  5562.  
  5563.     Syntax:
  5564.  
  5565.          gifIsGIF ( cFile ) -> nColors
  5566.  
  5567.          cFile : Name of the GIF file
  5568.  
  5569.     Description:
  5570.  
  5571.          This function returns the number of colors that contains the GIF
  5572.  
  5573.                                  - Page 93 -
  5574. Norton Guide: `FAST.lib 3.50 » Reference'
  5575.  
  5576.  
  5577.          image.
  5578.  
  5579.     Return:
  5580.  
  5581.          A value between 2 y 256 indicating the number of colors or NIL if
  5582.          the file does not have GIF format.
  5583.  
  5584.     Example:
  5585.  
  5586.          ? gifColors ( "c:\xx\giveme.gif" )
  5587.  
  5588. See Also: "gifIsGIF()" 
  5589.  
  5590.  
  5591.     gifIsGIF()
  5592.  
  5593.          Indicates if a file has GIF format or not
  5594.  
  5595.     Syntax:
  5596.  
  5597.          gifIsGIF ( cFile ) -> lIsGIF
  5598.  
  5599.          cFile : Name of the GIF file
  5600.  
  5601.     Description:
  5602.  
  5603.          This function returns a logic indicating if the file is GIF or not.
  5604.  
  5605.          The rest of GIF functions use this function to decide when to
  5606.          return some value.
  5607.  
  5608.     Return:
  5609.  
  5610.          .T. if the file is GIF or .F. if it does not have GIF format or
  5611.          does not exist.
  5612.  
  5613.     Example:
  5614.  
  5615.          ? gifIsGIF ( "c:\xx\giveme.gif" )
  5616.  
  5617. See Also: "gifVersion()" 
  5618.  
  5619.  
  5620.     gifIsPalette()
  5621.  
  5622.          Determines if the GIF has palette or not
  5623.  
  5624.     Syntax:
  5625.  
  5626.          gifIsPalette( cFile ) -> lPalette
  5627.  
  5628.          cFile : Name of the GIF file
  5629.  
  5630.     Description:
  5631.  
  5632.  
  5633.                                  - Page 94 -
  5634. Norton Guide: `FAST.lib 3.50 » Reference'
  5635.  
  5636.  
  5637.          This function determines if it must use the system palette in
  5638.          order to show the image or the GIF has its own palette.
  5639.  
  5640.     Return:
  5641.  
  5642.          A logic indicating if the GIF has palette or NIL if the file does
  5643.          not have GIF format.
  5644.  
  5645.     Example:
  5646.  
  5647.          ? gifIsPalette ( "c:\xx\giveme.gif" )
  5648.  
  5649. See Also: "gifIsGIF()" 
  5650.  
  5651.  
  5652.     gifShow256()
  5653.  
  5654.          Shows a 320x200x256 GIF on the screen
  5655.  
  5656.     Syntax:
  5657.  
  5658.          gifShow256 ( cFile ) -> lError
  5659.  
  5660.          cFile : Name of the GIF file
  5661.  
  5662.     Description:
  5663.  
  5664.          The GIF can be any size you want. Forget about the 64 kb
  5665.          limitation.
  5666.  
  5667.          It only works if a VGA card exists in the system.
  5668.          The function does not wait for a key, nor restores the video
  5669.          mode, so this is left to the user's responsibility. This is
  5670.          very useful when you want to show various GIF and you don't
  5671.          want to get text mode between one and the other.
  5672.          This function works best with GIF of less colors. It has
  5673.          been tested with GIFs of 320x200x32 and 320x200x64, also with
  5674.          320x200x256.
  5675.  
  5676.     Return:
  5677.  
  5678.          .T. if all has gone well or .F. if the file is not found or the
  5679.          GIF format is incorrect.
  5680.  
  5681.     Example:
  5682.  
  5683.          If IsVGA()
  5684.            nOldMode := SetVGA256()
  5685.            If gifShow256 ( "f:\xxx\giveme.gif" )
  5686.              Inkey(0)
  5687.            EndIf
  5688.            VideoMode ( nOldMode )
  5689.          EndIf
  5690.  
  5691. See Also: "GifShowVESA()" 
  5692.  
  5693.                                  - Page 95 -
  5694. Norton Guide: `FAST.lib 3.50 » Reference'
  5695.  
  5696.  
  5697.  
  5698.  
  5699.     gifShowVESA()
  5700.  
  5701.          Shows a GIF in VESA modes
  5702.  
  5703.     Syntax:
  5704.  
  5705.          gifShowVESA ( cFile ) -> lError
  5706.  
  5707.          cFile : Name of the GIF file
  5708.  
  5709.     Description:
  5710.  
  5711.          The GIF can be any size you want. Forget about the 64 kb
  5712.          limitation.
  5713.  
  5714.          It only works if a SVGA VESA compatible card exists on the system.
  5715.          The function does not wait for a key, nor restores the video
  5716.          mode, so this is left to the user's responsibility. This is
  5717.          very useful when you want to show various GIF and you don't
  5718.          want to get text mode between one and the other.
  5719.          This function works best with GIF of less colors. It has
  5720.          been tested with GIFs of 640x400x256, 640x480x256, 800x600x256,
  5721.          1024x768x256 and 1280x1024x256.
  5722.  
  5723.     Return:
  5724.  
  5725.          .T. if all has gone well or .F. if the file is not found or the
  5726.          GIF format is incorrect.
  5727.  
  5728.     Example:
  5729.  
  5730.          If IsVESA()
  5731.            cFile    := "f:\xxx\car.gif"
  5732.            nOldMode := VideoMode()
  5733.            nNewMode := SearchVESA( cFile )
  5734.            If nNewMode != NIL
  5735.              VESAMode( nNewMode )
  5736.              If gifShowVESA ( cFile )
  5737.                Inkey(0)
  5738.              EndIf
  5739.              VideoMode ( nOldMode )
  5740.            EndIf
  5741.          EndIf
  5742.  
  5743. See Also: "gifShow256()" "SearchVESA()" 
  5744.  
  5745.  
  5746.     gifVersion()
  5747.  
  5748.          Returns the version of a GIF
  5749.  
  5750.     Syntax:
  5751.  
  5752.  
  5753.                                  - Page 96 -
  5754. Norton Guide: `FAST.lib 3.50 » Reference'
  5755.  
  5756.  
  5757.          gifVersion ( cFile ) -> nVersion
  5758.  
  5759.          cFile : Name of the GIF file
  5760.  
  5761.     Description:
  5762.  
  5763.          This function returns the GIF file format version.
  5764.  
  5765.     Return:
  5766.  
  5767.          A string containing the version like GIF89a or NIL if the file
  5768.          does not have GIF format.
  5769.  
  5770.     Example:
  5771.  
  5772.          ? gifVersion ( "c:\xx\giveme.gif" )
  5773.  
  5774. See Also: "gifIsGIF()" 
  5775.  
  5776.  
  5777.     gifX()
  5778.  
  5779.          Returns the width of a GIF
  5780.  
  5781.     Syntax:
  5782.  
  5783.          gifX ( cFile ) -> nWidth
  5784.  
  5785.          cFile : Name of the GIF file
  5786.  
  5787.     Description:
  5788.  
  5789.          This function returns the width, in pixels, of the GIF image.
  5790.  
  5791.     Return:
  5792.  
  5793.          A numeric value indicating the number of pixels in width or NIL
  5794.          if the file does not have GIF format.
  5795.  
  5796.     Example:
  5797.  
  5798.          ? gifX ( "c:\xx\giveme.gif" )
  5799.  
  5800. See Also: "gifIsGIF()" "gifX()" 
  5801.  
  5802.  
  5803.     gifY()
  5804.  
  5805.          Returns the height of a GIF
  5806.  
  5807.     Syntax:
  5808.  
  5809.          gifX ( cFile ) -> nLong
  5810.  
  5811.          cFile : Name of the GIF file
  5812.  
  5813.                                  - Page 97 -
  5814. Norton Guide: `FAST.lib 3.50 » Reference'
  5815.  
  5816.  
  5817.  
  5818.     Description:
  5819.  
  5820.  
  5821.          This function returns the height, in pixels, of the GIF image.
  5822.  
  5823.     Return:
  5824.  
  5825.          A numeric value indicating the number of pixels in height or NIL
  5826.          if the file does not have GIF format.
  5827.  
  5828.     Example:
  5829.  
  5830.          ? gifY ( "c:\xx\giveme.gif" )
  5831.  
  5832. See Also: "gifIsGIF()" "gifX()" 
  5833.  
  5834.  
  5835.     gLine()
  5836.  
  5837.          Draws a line in graphic mode
  5838.  
  5839.     Syntax:
  5840.  
  5841.          gLine ( nX1, nY1, nX2, nY2, nColor ) -> NIL
  5842.  
  5843.          nX1    : Initial coordinate X
  5844.          nY1    : Initial coordinate Y
  5845.          nX2    : Final coordinate X
  5846.          nY2    : Final coordinate Y
  5847.          nColor : Numeric value color
  5848.  
  5849.     Description:
  5850.  
  5851.          Draws a line in graphic mode. The mode must be EGA or VGA.
  5852.  
  5853.     Return:
  5854.  
  5855.          Nothing.
  5856.  
  5857.     Example:
  5858.  
  5859.          gLine ( 200, 300, 250, 350, 4 )
  5860.  
  5861. See Also: "gBox()" 
  5862.  
  5863.  
  5864.     GraphBar()
  5865.  
  5866.          Bar graphics with Clipper!!
  5867.  
  5868.     Syntax:
  5869.  
  5870.          GraphBar( cTitle, aArray1, aArray2, aArray3, aArray4, ;
  5871.                    nTypeBar ) -> NIL
  5872.  
  5873.                                  - Page 98 -
  5874. Norton Guide: `FAST.lib 3.50 » Reference'
  5875.  
  5876.  
  5877.  
  5878.          cTitle   : Title or legend of graphic
  5879.          aArray1  : contain a legend and an array of values for the graphic.
  5880.          aArray2  :  "
  5881.          aArray3  :  "
  5882.          aArray4  :  "
  5883.          nTypeBar : Bar Type
  5884.                       0 : Default, normal bar
  5885.                       1 : top pyramidal bar
  5886.                       2 : bottom pyramidal bar
  5887.                       3 : cylindric bar
  5888.  
  5889.     Description:
  5890.  
  5891.          It generates bar graphics in Clipper. It only works in EGA
  5892.          and VGA.
  5893.  
  5894.          The number of bars will be the highest size of the 4 subarrays.
  5895.          This function is made from other functions of Fast Library, so
  5896.          if you do not like it, you can make your own directly. The only
  5897.          objective is to save you some work.
  5898.  
  5899.          Fast offers the resources to rebuild this function if there is
  5900.          something in it that you would like to modify more to you liking.
  5901.          The only thing needed is some simple knowledge of Plain Geometry.
  5902.  
  5903.     Return:
  5904.  
  5905.          Nothing.
  5906.  
  5907.     Example:
  5908.  
  5909.          SetVGA ()
  5910.          GraphBar ( "GraphBar Demo", ;
  5911.                     { "HP",       { 481, 212, 212, 266, 699, 312 } }, ;
  5912.                     , ;
  5913.                     { "DEC",      { 481, 212, 212, 266, 699, 312 } }, ;
  5914.                     { "IBM",      { 281, 332, 212, 557, 499, 612 } }, ;
  5915.                     1 )
  5916.          Inkey (0)
  5917.          TxtMode ()
  5918.  
  5919. See Also: "GraphBar2()" "GraphBar3()" "GraphEllipse()" "GraphTart()" 
  5920.  
  5921.  
  5922.     GraphBar2()
  5923.  
  5924.          Another bar graph with Clipper!!
  5925.  
  5926.     Syntax:
  5927.  
  5928.          GraphBar2( cTitle, aArray, nTypeBar ) -> NIL
  5929.  
  5930.          cTitle   : Title or legend of graphic
  5931.          aArray   : A bidimensional array containing numerical values
  5932.  
  5933.                                  - Page 99 -
  5934. Norton Guide: `FAST.lib 3.50 » Reference'
  5935.  
  5936.  
  5937.          nTypeBar : Bar Type
  5938.                       0 : Default, normal bar
  5939.                       1 : top pyramidal bar
  5940.                       2 : bottom pyramidal bar
  5941.                       3 : cylindric bar
  5942.  
  5943.     Description:
  5944.  
  5945.          It generates a bar graph in Clipper. It only works in EGA
  5946.          and VGA.
  5947.  
  5948.          This function is made from other functions of Fast Library, so
  5949.          if you do not like it, you can make your own directly. The only
  5950.          objective is to save you some work.
  5951.  
  5952.          Fast offers the resources to rebuild this function if there is
  5953.          something in it that you would like to modify more to you liking.
  5954.          The only thing needed is some simple knowledge of Plain Geometry.
  5955.  
  5956.     Return:
  5957.  
  5958.          Nothing.
  5959.  
  5960.     Example:
  5961.  
  5962.          SetVGA ()
  5963.          GraphBar2( "GraphBar2 Demo", ;
  5964.                     { { 481, 212, 212, 266, 699, 312 }, ;
  5965.                       { ... }, ;
  5966.                       { 481, 212, 212, 266, 699, 312 }, ;
  5967.                       { 281, 332, 212, 557, 499, 612 } ;
  5968.                     }, ;
  5969.                     2 )
  5970.          Inkey (0)
  5971.          TxtMode ()
  5972.  
  5973. See Also: "GraphBar()" "GraphBar3()" "GraphEllipse()" "GraphTart()" 
  5974.  
  5975.  
  5976.     GraphBar3()
  5977.  
  5978.          And another bar graph with Clipper!!
  5979.  
  5980.     Syntax:
  5981.  
  5982.          GraphBar3( cTitle, aItems, aArray, nTypeBar ) -> NIL
  5983.  
  5984.          cTitle   : Title of graphic
  5985.          aItems   : An array containing legends
  5986.          aValues  : An array containing numerical values
  5987.          nTypeBar : Bar Type
  5988.                       0 : Default, normal bar
  5989.                       1 : top pyramidal bar
  5990.                       2 : bottom pyramidal bar
  5991.                       3 : cylindric bar
  5992.  
  5993.                                  - Page 100 -
  5994. Norton Guide: `FAST.lib 3.50 » Reference'
  5995.  
  5996.  
  5997.  
  5998.     Description:
  5999.  
  6000.          It generates a bar graphics in Clipper. It only works in EGA
  6001.          and VGA.
  6002.  
  6003.          This function is made from other functions of Fast Library, so
  6004.          if you do not like it, you can make your own directly. The only
  6005.          objective is to save you some work.
  6006.  
  6007.          Fast offers the resources to rebuild this function if there is
  6008.          something in it that you would like to modify more to you liking.
  6009.          The only thing needed is some simple knowledge of Plain Geometry.
  6010.  
  6011.     Return:
  6012.  
  6013.          Nothing.
  6014.  
  6015.     Example:
  6016.  
  6017.          SetVGA ()
  6018.          GraphBar3( "GraphBar3 Demo", ;
  6019.                     { "Item1", "Item2", "Item3", "Item4" }, ;
  6020.                     {     481,     212,     212,     266 }, ;
  6021.                     3 )
  6022.          Inkey (0)
  6023.          TxtMode ()
  6024.  
  6025. See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphTart()" 
  6026.  
  6027.  
  6028.     GraphEllipse()
  6029.  
  6030.          Pie graph with Clipper!!
  6031.  
  6032.     Syntax:
  6033.  
  6034.          GraphEllipse ( nX, nY, nFocus, aArray ) -> NIL
  6035.  
  6036.          nX     : Coordinate X of the center of the ellipse
  6037.          nY     : Coordinate Y of the center of the ellipse
  6038.          nFocus : Focus A of the ellipse
  6039.          aArray : An array of values for the graphic. It allows as
  6040.                   many elements as you like.
  6041.  
  6042.     Description:
  6043.  
  6044.          It generates a pie graph in Clipper. It only works in EGA
  6045.          and VGA.
  6046.  
  6047.          This function does not have the option to place title and legends
  6048.          because, as it allows you to place the graphic in a specific
  6049.          position, it may be of interest to place this data in whichever
  6050.          place you like.
  6051.  
  6052.  
  6053.                                  - Page 101 -
  6054. Norton Guide: `FAST.lib 3.50 » Reference'
  6055.  
  6056.  
  6057.          It is important to realize that the graph will be painted in zones of
  6058.          different colors, always starting with color 1 in the first zone, 2
  6059.          in the second, and so on until 15. This process will be recursively
  6060.          repeated if there is more than 15 zones. This is a very important
  6061.          point in order to determine later the color of each legend in the
  6062.          graphic.  It is also important to realize that Fast offers the
  6063.          resources to rebuild this function if there is something in it that
  6064.          is not to your liking. The only thing needed is some simple
  6065.          knowledge of Plain Geometry.
  6066.  
  6067.     Return:
  6068.  
  6069.          Nothing.
  6070.  
  6071.     Example:
  6072.  
  6073.          SetVGA()
  6074.          cTitle := "Fast Graphic System"
  6075.          GraphEllipse( 320, 240, 100, { 17, 3, 15, 60, 15 } )
  6076.          DispStr ( cTitle, 320 - Len ( cTitle ) * 4, 370, 15, 0 )
  6077.          Legend ( 320, 460, 15, 4, "Fast Library" )
  6078.          Inkey (0)
  6079.          TxtMode ()
  6080.  
  6081. See Also: "Legend()" "DispStr()" "GraphBar()" "GraphBar2()" "GraphTart()" 
  6082.  
  6083.  
  6084.     GraphLine()
  6085.  
  6086.          Line graph with Clipper!!
  6087.  
  6088.     Syntax:
  6089.  
  6090.          GraphLine( cTitle, aArray ) -> NIL
  6091.  
  6092.          cTitle : Title or legend of graphic
  6093.          aArray : A bidimensional array containing numerical values
  6094.  
  6095.     Description:
  6096.  
  6097.          It generates a line graph in Clipper. It only works in EGA
  6098.          and VGA.
  6099.  
  6100.          This function is made from other functions of Fast Library, so
  6101.          if you do not like it, you can make your own directly. The only
  6102.          objective is to save you some work.
  6103.  
  6104.          Fast offers the resources to rebuild this function if there is
  6105.          something in it that you would like to modify more to you liking.
  6106.          The only thing needed is some simple knowledge of Plain Geometry.
  6107.  
  6108.     Return:
  6109.  
  6110.          Nothing.
  6111.  
  6112.  
  6113.                                  - Page 102 -
  6114. Norton Guide: `FAST.lib 3.50 » Reference'
  6115.  
  6116.  
  6117.     Example:
  6118.  
  6119.          SetVGA ()
  6120.          GraphLine( "GraphLine Demo", ;
  6121.                     { { 481, 212, 212, 266, 699, 312 }, ;
  6122.                       { ... }, ;
  6123.                       { 481, 212, 212, 266, 699, 312 }, ;
  6124.                       { 281, 332, 212, 557, 499, 612 } ;
  6125.                     } )
  6126.          Inkey (0)
  6127.          TxtMode ()
  6128.  
  6129. See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphZone()" 
  6130.  
  6131.  
  6132.     GraphTart()
  6133.  
  6134.          Pie graph with Clipper!!
  6135.  
  6136.     Syntax:
  6137.  
  6138.          GraphTart ( nX, nY, nRadius, aArray ) -> NIL
  6139.  
  6140.          nX      : Coordinate X of the center of the circumference
  6141.          nY      : Coordinate Y of the center of the circumference
  6142.          nRadius : Radius of the circumference
  6143.          aArray  : An array of values for the graphic. It allows as
  6144.                    many elements as you like.
  6145.  
  6146.     Description:
  6147.  
  6148.          It generates a pie graph in Clipper. It only works in EGA
  6149.          and VGA.
  6150.  
  6151.          This function does not have the option to place title and legends
  6152.          because, as it allows you to place the graphic in a specific
  6153.          position, it may be of interest to place this data in whichever
  6154.          place you like.
  6155.  
  6156.          It is important to realize that the graphic will be painted in zones
  6157.          of different colors, always starting with color 1 in the first
  6158.          zone, 2 in the second, and so on until 15. This process will be
  6159.          recursively repeated if there is more than 15 zones. This is a
  6160.          very important point in order to determine later the color of
  6161.          each legend in the graphic.
  6162.  
  6163.          It is also important to realize that Fast offers the resources to
  6164.          rebuild this function if there is something in it that is not of your
  6165.          likeing. The only thing needed is some simple knowledge of Plain
  6166.          Geometry.
  6167.  
  6168.     Return:
  6169.  
  6170.          Nothing.
  6171.  
  6172.  
  6173.                                  - Page 103 -
  6174. Norton Guide: `FAST.lib 3.50 » Reference'
  6175.  
  6176.  
  6177.     Example:
  6178.  
  6179.          SetVGA()
  6180.          cTitulo := "Fast Graphic System"
  6181.          GraphTart ( 320, 240, 100, { 17, 3, 15, 60, 15 } )
  6182.          DispStr ( cTitulo, 320 - Len ( cTitulo ) * 4, 370, 15, 0 )
  6183.          Legend ( 320, 460, 15, 4, "Fast Library" )
  6184.          Inkey (0)
  6185.          TxtMode ()
  6186.  
  6187. See Also: "Legend()" "DispStr()" "GraphBar()" "GraphBar2()" "GraphEllipse()" 
  6188.  
  6189.  
  6190.     GraphZone()
  6191.  
  6192.          Zone graph with Clipper!!
  6193.  
  6194.     Syntax:
  6195.  
  6196.          GraphZone( cTitle, aArray ) -> NIL
  6197.  
  6198.          cTitle : Title or legend of graphic
  6199.          aArray : A bidimensional array containing numerical values
  6200.  
  6201.     Description:
  6202.  
  6203.          It generates a zone graph in Clipper. It only works in EGA
  6204.          and VGA.
  6205.  
  6206.          This function is made from other functions of Fast Library, so
  6207.          if you do not like it, you can make your own directly. The only
  6208.          objective is to save you some work.
  6209.  
  6210.          Fast offers the resources to rebuild this function if there is
  6211.          something in it that you would like to modify more to you liking.
  6212.          The only thing needed is some simple knowledge of Plain Geometry.
  6213.  
  6214.     Return:
  6215.  
  6216.          Nothing.
  6217.  
  6218.     Example:
  6219.  
  6220.          SetVGA ()
  6221.          GraphZone( "GraphZone Demo", ;
  6222.                     { { 481, 212, 212, 266, 699, 312 }, ;
  6223.                       { ... }, ;
  6224.                       { 481, 212, 212, 266, 699, 312 }, ;
  6225.                       { 281, 332, 212, 557, 499, 612 } ;
  6226.                     } )
  6227.          Inkey (0)
  6228.          TxtMode ()
  6229.  
  6230. See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphLine()" 
  6231.  
  6232.  
  6233.                                  - Page 104 -
  6234. Norton Guide: `FAST.lib 3.50 » Reference'
  6235.  
  6236.  
  6237.  
  6238.     IsCGA()
  6239.  
  6240.          Detects if a CGA card exists
  6241.  
  6242.     Syntax:
  6243.  
  6244.          IsCGA() -> lCGA
  6245.  
  6246.     Description:
  6247.  
  6248.          Detects if a CGA card exists in the system and it returns a
  6249.          logic indicating the result.
  6250.  
  6251.     Return:
  6252.  
  6253.          .T. if it exists and .F. if not.
  6254.  
  6255.     Example:
  6256.  
  6257.          If IsCGA()
  6258.            ? "There's a CGA card"
  6259.          EndIf
  6260.  
  6261. See Also: "IsEGA()" "IsHerc()" "IsLCD()" "IsVGA()" 
  6262.  
  6263.  
  6264.     IsEGA()
  6265.  
  6266.          Detects if a EGA card exists
  6267.  
  6268.     Syntax:
  6269.  
  6270.          IsEGA() -> lEGA
  6271.  
  6272.     Description:
  6273.  
  6274.          Detects if a EGA card exists in the system and it returns a
  6275.          logic indicating the result.
  6276.  
  6277.     Return:
  6278.  
  6279.          .T. if it exists and .F. if not.
  6280.  
  6281.     Example:
  6282.  
  6283.          If IsEGA()
  6284.            ? "There's a EGA card"
  6285.          EndIf
  6286.  
  6287. See Also: "IsCGA()" "IsHerc()" "IsLCD()" "IsVGA()" 
  6288.  
  6289.  
  6290.     IsHerc()
  6291.  
  6292.  
  6293.                                  - Page 105 -
  6294. Norton Guide: `FAST.lib 3.50 » Reference'
  6295.  
  6296.  
  6297.          Detects if a Hercules card exists
  6298.  
  6299.     Syntax:
  6300.  
  6301.          IsHerc() -> lHerc
  6302.  
  6303.     Description:
  6304.  
  6305.          Detects if a Hercules card exists in the system and it returns a
  6306.          logic indicating the result.
  6307.  
  6308.     Return:
  6309.  
  6310.          .T. if it exists and .F. if not.
  6311.  
  6312.     Example:
  6313.  
  6314.          If IsHerc()
  6315.            ? "There's a Hercules Card"
  6316.          EndIf
  6317.  
  6318. See Also: "IsCGA()" "IsEGA()" "IsLCD()" "IsVGA()" 
  6319.  
  6320.  
  6321.     IsLCD()
  6322.  
  6323.          Detects if a LCD monitor exists
  6324.  
  6325.     Syntax:
  6326.  
  6327.          IsLCD() -> lLCD
  6328.  
  6329.     Description:
  6330.  
  6331.          Detects if a LCD monitor exists in the system and it returns a
  6332.          logic indicating the result.
  6333.  
  6334.     Return:
  6335.  
  6336.          .T. if it exists and .F. if not.
  6337.  
  6338.     Example:
  6339.  
  6340.          If IsLCD()
  6341.            ? "There's a LCD monitor"
  6342.          EndIf
  6343.  
  6344. See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsVGA()" 
  6345.  
  6346.  
  6347.     IsMono()
  6348.  
  6349.          Detects if a VGA mono card exists
  6350.  
  6351.     Syntax:
  6352.  
  6353.                                  - Page 106 -
  6354. Norton Guide: `FAST.lib 3.50 » Reference'
  6355.  
  6356.  
  6357.  
  6358.          IsMono() -> lVGAMono
  6359.  
  6360.     Description:
  6361.  
  6362.          Detects if a VGA mono card exists in the system and it returns a
  6363.          logic indicating the result.
  6364.  
  6365.     Return:
  6366.  
  6367.          .T. if it exists and .F. if not.
  6368.  
  6369.     Example:
  6370.  
  6371.          If IsMono()
  6372.            ? "There's a VGA mono card"
  6373.          EndIf
  6374.  
  6375. See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsLCD()" "IsVGA()" "IsVESA()" 
  6376.  
  6377.  
  6378.     IsVESA()
  6379.  
  6380.          Detects if the graphic system is VESA compatible
  6381.  
  6382.     Syntax:
  6383.  
  6384.          IsVESA() -> lVESA
  6385.  
  6386.     Description:
  6387.  
  6388.          It returns a logic indicating if the system is compatible with the
  6389.          standard placed by the VESA committee. If your graphic card is not
  6390.          VESA compatible contact your distributor and there probably will
  6391.          be a driver that allows to emulation VESA.
  6392.  
  6393.     Return:
  6394.  
  6395.          A logic indicating if it is compatible
  6396.  
  6397.     Example:
  6398.  
  6399.          If IsVESA()
  6400.            ? VESAVer()
  6401.          EndIf
  6402.  
  6403. See Also: "IsVGA()" "VESAMode()" "VESAOEM()" "VESAVer()" 
  6404.  
  6405.  
  6406.     IsVGA()
  6407.  
  6408.          Detects if a VGA card exists
  6409.  
  6410.     Syntax:
  6411.  
  6412.  
  6413.                                  - Page 107 -
  6414. Norton Guide: `FAST.lib 3.50 » Reference'
  6415.  
  6416.  
  6417.          IsVGA() -> lVGA
  6418.  
  6419.     Description:
  6420.  
  6421.          Detects if a VGA card exists in the system and it returns a
  6422.          logic indicating the result.
  6423.  
  6424.     Return:
  6425.  
  6426.          .T. if it exists and .F. if not.
  6427.  
  6428.     Example:
  6429.  
  6430.          If IsVGA()
  6431.            ? "There's a VGA card"
  6432.          EndIf
  6433.  
  6434. See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsLCD()" "IsMono()" "IsVESA()" 
  6435.  
  6436.  
  6437.     Legend()
  6438.  
  6439.          Draws and fills a square and optionally text
  6440.  
  6441.     Syntax:
  6442.  
  6443.          Legend ( nX, nY, nSize, nColor, cText ) -> NIL
  6444.  
  6445.          nX      : Left upper coordinate X of the square
  6446.          nY      : Left upper coordinate Y of the square
  6447.          nSize   : Size of the square
  6448.          nColor  : Color of the square
  6449.          cText   : A text associated with this color in the legend
  6450.  
  6451.     Description:
  6452.  
  6453.          This function already existed in version 1.25 of Fast, though
  6454.          it was not documented because it was used internally by GraphBar().
  6455.  
  6456.          Now, with the inclusion of GraphTart() the user is allowed to create
  6457.          the legends where and when he likes and that's why it has been
  6458.          documented.
  6459.  
  6460.     Return:
  6461.  
  6462.          Nothing.
  6463.  
  6464.     Example:
  6465.  
  6466.          SetVGA()
  6467.          cTitulo := "Fast Graphic System"
  6468.          GraphTart ( 320, 240, 100, { 17, 3, 15, 60, 15 } )
  6469.          DispStr ( cTitulo, 320 - Len ( cTitulo ) * 4, 370, 15, 0 )
  6470.          Legend ( 320, 460, 15, 4, "Fast Library" )
  6471.          Inkey (0)
  6472.  
  6473.                                  - Page 108 -
  6474. Norton Guide: `FAST.lib 3.50 » Reference'
  6475.  
  6476.  
  6477.          TxtMode ()
  6478.  
  6479. See Also: "DispStr()" "GraphBar()" "GraphTart()" 
  6480.  
  6481.  
  6482.     Origin()
  6483.  
  6484.          Modifies the video origin in the CRT controller
  6485.  
  6486.     Syntax:
  6487.  
  6488.          Origin( nX, nY ) -> NIL
  6489.  
  6490.          nX : Coordinate X
  6491.          nY : Coordinate Y
  6492.  
  6493.     Description:
  6494.  
  6495.          It accesses the CRT controller and fixes the relative position
  6496.          given as the start position of the video memory.
  6497.  
  6498.          For example, if we call to Origin( 5, 6 ) we are indicating that
  6499.          the new position in X is shifted 5 pixels and in Y is shifted 6
  6500.          pixels. With all this we will descend the image 6 lines and move
  6501.          it right 5 columns.
  6502.  
  6503.          These movements are extraordinarily fast.
  6504.  
  6505.     Return:
  6506.  
  6507.          Nothing.
  6508.  
  6509.     Example:
  6510.  
  6511.          gifShow256( "demo.gif" )
  6512.          For nInd := 0 To 200 Step 2
  6513.            Origin( 0, nInd )
  6514.          Next
  6515.  
  6516.  
  6517.     Outxy()
  6518.  
  6519.          Writes a string on the screen in all modes
  6520.  
  6521.     Syntax:
  6522.  
  6523.          Outxy( nX, nY, cString, nColor ) -> NIL
  6524.  
  6525.          nX      : Coordinate X
  6526.          nY      : Coordinate Y
  6527.          cString : The string to be written
  6528.          nColor  : The color of characters
  6529.  
  6530.     Description:
  6531.  
  6532.  
  6533.                                  - Page 109 -
  6534. Norton Guide: `FAST.lib 3.50 » Reference'
  6535.  
  6536.  
  6537.          It writes a string in graphic mode. The functions work in all
  6538.          CGA, Herc, EGA, VGA and SVGA modes.
  6539.  
  6540.     Return:
  6541.  
  6542.          Nothing.
  6543.  
  6544.     Example:
  6545.  
  6546.          DispStr ( 20, 10, "Write in graphic mode", 10 )
  6547.  
  6548. See Also: "DispChar()" "DispStr()" 
  6549.  
  6550.  
  6551.     GetPalette()
  6552.  
  6553.          Returns the actual color palette
  6554.  
  6555.     Syntax:
  6556.  
  6557.          GetPalette() -> cPalette
  6558.  
  6559.     Description:
  6560.  
  6561.          It returns a 768 bytes string with the present color palette.
  6562.  
  6563.          This function is very useful with Upgrade() and Degrade().
  6564.  
  6565.     Return:
  6566.  
  6567.          A 768 bytes string with the color palette.
  6568.  
  6569.     Example:
  6570.  
  6571.          cPalette := GetPalette()
  6572.          Degrade( cPalette )
  6573.          Upgrade( cPalette )
  6574.  
  6575. See Also: "Degrade()" "SetPalette()" "Upgrade()" 
  6576.  
  6577.  
  6578.     pcxBitsPixel()
  6579.  
  6580.          Returns the number of bits per pixel of the PCX
  6581.  
  6582.     Syntax:
  6583.  
  6584.          pcxBitsPixel ( cFile ) -> nBitsPixel
  6585.  
  6586.          cFile : Name of the PCX file
  6587.  
  6588.     Description:
  6589.  
  6590.          This function returns the number of bits per pixel of the PCX
  6591.          file if it exists and has a PCX format. Else returns NIL.
  6592.  
  6593.                                  - Page 110 -
  6594. Norton Guide: `FAST.lib 3.50 » Reference'
  6595.  
  6596.  
  6597.  
  6598.     Return:
  6599.  
  6600.          The number of bits per pixel or NIL if the file does not exists
  6601.          or does not have PCX format.
  6602.  
  6603.     Example:
  6604.  
  6605.          ? pcxBitsPixel ( "c:\fast\lib\fast.pcx" )
  6606.  
  6607. See Also: "pcxIsPCX()" 
  6608.  
  6609.  
  6610.     pcxIsPCX()
  6611.  
  6612.          Indicates if a file has PCX format or not
  6613.  
  6614.     Syntax:
  6615.  
  6616.          pcxIsPCX ( cFile ) -> lEsPCX
  6617.  
  6618.          cFile : Name of the PCX file
  6619.  
  6620.     Description:
  6621.  
  6622.          This function returns a logic indicating if the file is PCX or not.
  6623.  
  6624.          The rest of the PCX functions uses this one to determine when to
  6625.          return a value.
  6626.  
  6627.     Return:
  6628.  
  6629.          .T. if the file is a PCX or .F. if it does not have PCX format or
  6630.          does not exist.
  6631.  
  6632.     Example:
  6633.  
  6634.          ? pcxIsPCX ( "c:\fast\lib\fast.pcx" )
  6635.  
  6636.  
  6637.     pcxShow()
  6638.  
  6639.          Shows a 16 color PCX on the screen
  6640.  
  6641.     Syntax:
  6642.  
  6643.          pcxShow ( cFile, [lPalette], [nX], [nY] ) -> lError
  6644.  
  6645.          cFile    : Name of the PCX file
  6646.          lPalette : A logic indicating if we like the PCX palette or the
  6647.                     actual one of the system. If it is .T. then prevails
  6648.                     the one from the file. If it is .F. the one from the
  6649.                     system. By default is .T.
  6650.                     This option is very useful for programs like PaintBrush
  6651.                     for Windows that destroys palettes.
  6652.  
  6653.                                  - Page 111 -
  6654. Norton Guide: `FAST.lib 3.50 » Reference'
  6655.  
  6656.  
  6657.          nX       : Initial coordinate X where we want to see the PCX.
  6658.                     Default value is 0. It may be assigned whichever value
  6659.                     between 0 and the number of horizontal pixels of the
  6660.                     actual mode. For example, if it is VGA, between 0 and
  6661.                     639.
  6662.          nY       : Initial coordinate Y where we want to see the PCX.
  6663.                     Default value is 0. It may be assigned whichever value
  6664.                     between 0 and the number of vertical pixels of the
  6665.                     actual mode. For example, if it is VGA, between 0 and
  6666.                     479.
  6667.  
  6668.     Description:
  6669.  
  6670.          The PCX can be any size you want. Forget about the 64 kb
  6671.          limitation.
  6672.  
  6673.          It only works if a VGA card exists in the system.
  6674.  
  6675.          The function does not activate the video mode when entering, nor
  6676.          deactivate the video mode when leaving. Nor does it wait for a
  6677.          key. This is very useful when you want to show various PCX one
  6678.          after the other and you do not want to get text mode between one
  6679.          and the other.
  6680.  
  6681.          The PCX file can have whichever resolution you want, that is, it
  6682.          can be 20x100... Meaning there is no need to use the known
  6683.                         resolutions like 640x480 or 640x350.
  6684.  
  6685.     Return:
  6686.  
  6687.          .T. if it all has gone well or .F. if the file is not found, the
  6688.          system does not have a VGA or the PCX format is incorrect.
  6689.  
  6690.     Example:
  6691.  
  6692.          nOldMode := SetVGA()
  6693.          If pcxShow ( "c:\fast\lib\fast1.pcx", .T. 10, 10 )
  6694.            Inkey(0)
  6695.          EndIf
  6696.          VideoMode ( noldmode )
  6697.  
  6698. See Also: "pcxShow256()" 
  6699.  
  6700.  
  6701.     pcxShow256()
  6702.  
  6703.          Shows a 320x200x256 PCX on the screen
  6704.  
  6705.     Syntax:
  6706.  
  6707.          pcxShow256 ( cFile, [lPalette], [lDegrade] ) -> lError
  6708.  
  6709.          cFile    : Name of the PCX file
  6710.          lPalette : A logic indicating if we like the PCX palette or the
  6711.                     actual one of the system. If it is .T. then prevails
  6712.  
  6713.                                  - Page 112 -
  6714. Norton Guide: `FAST.lib 3.50 » Reference'
  6715.  
  6716.  
  6717.                     the one from the file. If it is .F. the one from the
  6718.                     system. By default is .T.
  6719.                     This option is very useful for programs like PaintBrush
  6720.                     for Windows that destroys palettes.
  6721.          lDegrade : A logic indicating if you like to fix the palette in a
  6722.                     progressive way simulating a degrade (.T.) or if we
  6723.                     want to fix it in a fast way (.F.). Default value is .F.
  6724.                     Only available when lPalette is .T.
  6725.  
  6726.     Description:
  6727.  
  6728.          The PCX can be any size you want. Forget about the 64 kb
  6729.          limitation.
  6730.  
  6731.          It only works if a VGA card exists in the system.
  6732.  
  6733.          The function does not wait for a key, nor restores the video
  6734.          mode, so this is left to the user's responsibility. This is
  6735.          very useful when you want to show various PCX files one after the
  6736.          other and you do not want to get text mode between one and the other.
  6737.  
  6738.     Return:
  6739.  
  6740.          .T. if it all has gone well or .F. if the file is not found, the
  6741.          system does not have a VGA or the PCX format is incorrect.
  6742.  
  6743.     Example:
  6744.  
  6745.          noldmode := SetVGA256()
  6746.          If pcxShow256 ( "c:\fast\lib\m_roibal.pcx" )
  6747.            Inkey(0)
  6748.          EndIf
  6749.          VideoMode ( noldmode )
  6750.  
  6751. See Also: "pcxShow()" 
  6752.  
  6753.  
  6754.     pcxPlanes()
  6755.  
  6756.          Returns the number of planes of the PCX
  6757.  
  6758.     Syntax:
  6759.  
  6760.          pcxPlanes ( cFile ) -> nPlanes
  6761.  
  6762.          cFile : Name of the PCX file
  6763.  
  6764.     Description:
  6765.  
  6766.          This function returns the number of planes of the PCX file if it
  6767.          exists and it has a PCX format. Else returns NIL
  6768.  
  6769.     Return:
  6770.  
  6771.          The number of planes or NIL if the file does not exist or if it is
  6772.  
  6773.                                  - Page 113 -
  6774. Norton Guide: `FAST.lib 3.50 » Reference'
  6775.  
  6776.  
  6777.          not a PCX
  6778.  
  6779.     Example:
  6780.  
  6781.          ? pcxPlanes ( "c:\fast\lib\fast.pcx" )
  6782.  
  6783. See Also: "pcxIsPCX()" 
  6784.  
  6785.  
  6786.     pcxPalette()
  6787.  
  6788.          Returns the color palette of the PCX
  6789.  
  6790.     Syntax:
  6791.  
  6792.          pcxPalette ( cFile ) -> cPalette
  6793.  
  6794.          cFile : Name of the PCX file
  6795.  
  6796.     Description:
  6797.  
  6798.          This function returns the color palette of the PCX file if it
  6799.          is of any sense. The return value has no meaning if the video card
  6800.          is monochrome.
  6801.  
  6802.     Return:
  6803.  
  6804.          A string of 48 bytes with the colors palette or NIL if the file
  6805.          does not exist or it is not a PCX.
  6806.  
  6807.     Example:
  6808.  
  6809.          cPalette := pcxPalette ( "c:\fast\lib\fast.pcx" )
  6810.  
  6811. See Also: "pcxIsPCX()" 
  6812.  
  6813.  
  6814.     pcxResH()
  6815.  
  6816.          Returns the horizontal resolution of the PCX
  6817.  
  6818.     Syntax:
  6819.  
  6820.          pcxResH ( cFile ) -> nResH
  6821.  
  6822.          cFile : Name of the PCX file
  6823.  
  6824.     Description:
  6825.  
  6826.          This function returns the horizontal resolution of the PCX file if
  6827.          it exists and has a PCX format. Else returns NIL.
  6828.  
  6829.     Return:
  6830.  
  6831.          The horizontal resolution or NIL if the file does not exist or it
  6832.  
  6833.                                  - Page 114 -
  6834. Norton Guide: `FAST.lib 3.50 » Reference'
  6835.  
  6836.  
  6837.          is not a PCX.
  6838.  
  6839.     Example:
  6840.  
  6841.          ? pcxResH ( "c:\fast\lib\fast.pcx" )
  6842.  
  6843. See Also: "pcxIsPCX()" "pcxResV()" 
  6844.  
  6845.  
  6846.     pcxResV()
  6847.  
  6848.          Returns the vertical resolution of the PCX
  6849.  
  6850.     Syntax:
  6851.  
  6852.          pcxResV ( cFile ) -> nResV
  6853.  
  6854.          cFile : Name of the PCX file
  6855.  
  6856.     Description:
  6857.  
  6858.          This function returns the vertical resolution of the PCX file if
  6859.          it exists and has a PCX format. Else returns NIL.
  6860.  
  6861.     Return:
  6862.  
  6863.          The vertical resolution or NIL if the file does not exist or it
  6864.          is not a PCX.
  6865.  
  6866.  
  6867.     Example:
  6868.  
  6869.          ? pcxResV ( "c:\fast\lib\fast.pcx" )
  6870.  
  6871. See Also: "pcxIsPCX()" "pcxResH()" 
  6872.  
  6873.  
  6874.     pcxVersion()
  6875.  
  6876.          Returns the format version of the PCX file
  6877.  
  6878.     Syntax:
  6879.  
  6880.          pcxVersion ( cFile ) -> cVersion
  6881.  
  6882.          cFile : Name of the PCX file
  6883.  
  6884.     Description:
  6885.  
  6886.          It returns the format version of the PCX file if it is known.
  6887.  
  6888.          This function allows formats from 2.5 until 3.0. The rest of
  6889.          the formats below 2.5 are compatible with this one.
  6890.  
  6891.     Return:
  6892.  
  6893.                                  - Page 115 -
  6894. Norton Guide: `FAST.lib 3.50 » Reference'
  6895.  
  6896.  
  6897.  
  6898.          A string with the format version of the PCX file
  6899.  
  6900.     Example:
  6901.  
  6902.          ? pcxVersion ( "c:\fast\lib\fast.pcx" )
  6903.  
  6904. See Also: "pcxIsPCX()" 
  6905.  
  6906.  
  6907.     pcxX1()
  6908.  
  6909.          Returns the initial coordinate X of the PCX
  6910.  
  6911.     Syntax:
  6912.  
  6913.          pcxX1 ( cFile ) -> cCoorX1
  6914.  
  6915.          cFile : Name of the PCX file
  6916.  
  6917.     Description:
  6918.  
  6919.          It returns the initial coordinate X of the PCX file, that it is
  6920.          usually 0.
  6921.  
  6922.     Return:
  6923.  
  6924.          The value of the initial coordinate X.
  6925.  
  6926.     Example:
  6927.  
  6928.          ? pcxX1 ( "c:\fast\lib\fast.pcx" )
  6929.  
  6930. See Also: "pcxIsPCX()" "pcxX2()" "pcxY1()" "pcxY2()" 
  6931.  
  6932.  
  6933.     pcxX2()
  6934.  
  6935.          Returns the final coordinate X of the PCX
  6936.  
  6937.     Syntax:
  6938.  
  6939.          pcxX2 ( cFile ) -> cCoorX2
  6940.  
  6941.          cFile : Name of the PCX file
  6942.  
  6943.     Description:
  6944.  
  6945.          It returns the final coordinate X of the PCX file. This value
  6946.          usually determines on its own the PCX width, even when the exact
  6947.          value would be like:
  6948.  
  6949.                 nWidth := pcxX2 - pcxX1 + 1
  6950.  
  6951.          But due to the pcxX1 usually takes value 0, the value pcxX2 + 1
  6952.  
  6953.                                  - Page 116 -
  6954. Norton Guide: `FAST.lib 3.50 » Reference'
  6955.  
  6956.  
  6957.          indicates the width by itself.
  6958.  
  6959.     Return:
  6960.  
  6961.          The value of the final coordinate X.
  6962.  
  6963.     Example:
  6964.  
  6965.          ? pcxX2 ( "c:\fast\lib\fast.pcx" )
  6966.  
  6967. See Also: "pcxIsPCX()" "pcxX1()" "pcxY1()" "pcxY2()" 
  6968.  
  6969.  
  6970.     pcxY1()
  6971.  
  6972.          Returns the initial coordinate Y of the PCX
  6973.  
  6974.     Syntax:
  6975.  
  6976.          pcxY1 ( cFile ) -> cCoorY1
  6977.  
  6978.          cFile : Name of the PCX file
  6979.  
  6980.     Description:
  6981.  
  6982.          It returns the initial coordinate Y of the PCX file, that it is
  6983.          usually 0.
  6984.  
  6985.     Return:
  6986.  
  6987.          The value of the initial coordinate Y.
  6988.  
  6989.     Example:
  6990.  
  6991.          ? pcxY1 ( "c:\fast\lib\fast.pcx" )
  6992.  
  6993. See Also: "pcxIsPCX()" "pcxX1()" "pcxX2()" "pcxY2()" 
  6994.  
  6995.  
  6996.     pcxY2()
  6997.  
  6998.          Returns the final coordinate Y of the PCX
  6999.  
  7000.     Syntax:
  7001.  
  7002.          pcxY2 ( cFile ) -> cCoorY2
  7003.  
  7004.          cFile : Name of the PCX file
  7005.  
  7006.     Description:
  7007.  
  7008.          It returns the final coordinate Y of the PCX file. This value
  7009.          usually determines on its own the PCX height, even when the exact
  7010.          value would be like:
  7011.  
  7012.  
  7013.                                  - Page 117 -
  7014. Norton Guide: `FAST.lib 3.50 » Reference'
  7015.  
  7016.  
  7017.                 nHeight := pcxY2 - pcxY1 + 1
  7018.  
  7019.          But due to the pcxY1 usually takes value 0, the value pcxY2 + 1
  7020.          indicates the height by itself.
  7021.  
  7022.     Return:
  7023.  
  7024.          The value of the final coordinate Y.
  7025.  
  7026.     Example:
  7027.  
  7028.          ? pcxY2 ( "c:\fast\lib\fast.pcx" )
  7029.  
  7030. See Also: "pcxIsPCX()" "pcxX1()" "pcxX2()" "pcxY1()" 
  7031.  
  7032.  
  7033.     SearchVESA()
  7034.  
  7035.          Searches the VESA mode of a gif file
  7036.  
  7037.     Syntax:
  7038.  
  7039.          SearchVESA ( cFile ) -> nMode
  7040.  
  7041.          cFile : Name of the GIF file
  7042.  
  7043.     Description:
  7044.  
  7045.          Initializes a GIF file and returns the appropriate VESA mode to
  7046.          display the image.
  7047.  
  7048.     Return:
  7049.  
  7050.          The appropriate VESA mode or NIL if cFile not exist, cFile is not
  7051.          a GIF file or the size of GIF file is unknown.
  7052.  
  7053.     Example:
  7054.  
  7055.          cFile    := "f:\xxx\car.gif"           // 1024x768x256
  7056.          ? SearchVESA( cFile )                  // VESA mode 261
  7057.  
  7058. See Also: "gifColors()" "gifShowVESA()" "gifX()" "gifY()" 
  7059.  
  7060.  
  7061.     SetEGA()
  7062.  
  7063.          Activates the 640x350 16 colors EGA mode
  7064.  
  7065.     Syntax:
  7066.  
  7067.          SetEGA() -> nOldMode
  7068.  
  7069.     Description:
  7070.  
  7071.          It turns the video mode EGA 640x350x16 colors and returns the
  7072.  
  7073.                                  - Page 118 -
  7074. Norton Guide: `FAST.lib 3.50 » Reference'
  7075.  
  7076.  
  7077.          last mode.
  7078.  
  7079.          This function is a special case of the generic VideoMode().
  7080.  
  7081.     Return:
  7082.  
  7083.          The last video mode.
  7084.  
  7085.     Example:
  7086.  
  7087.          SetEGA()
  7088.  
  7089. See Also: "VideoMode()" "SetVGA()" "TxtMode()" 
  7090.  
  7091.  
  7092.     SetPalette()
  7093.  
  7094.          Sets the actual color palette
  7095.  
  7096.     Syntax:
  7097.  
  7098.          SetPalette( cPalette ) -> NIL
  7099.  
  7100.          cPalette : a string with the new color palette
  7101.  
  7102.     Description:
  7103.  
  7104.          Sets the actual color palette.
  7105.  
  7106.     Return:
  7107.  
  7108.          Nothing.
  7109.  
  7110.     Example:
  7111.  
  7112.          SetPalette( cNewPalette )
  7113.  
  7114. See Also: "Degrade()" "GetPalette()" "Upgrade()" 
  7115.  
  7116.  
  7117.     SetPixel()
  7118.  
  7119.          Draws a point in graphic mode
  7120.  
  7121.     Syntax:
  7122.  
  7123.          SetPixel( nCol, nRow, nColor ) -> NIL
  7124.  
  7125.          nCol    : The column where to place the point.
  7126.          nRow    : The row where to place the point.
  7127.          nColor  : The color. It must be a numeric value.
  7128.  
  7129.     Description:
  7130.  
  7131.          It draws a point on the screen at the coordinates and colors
  7132.  
  7133.                                  - Page 119 -
  7134. Norton Guide: `FAST.lib 3.50 » Reference'
  7135.  
  7136.  
  7137.          specified.
  7138.  
  7139.     Return:
  7140.  
  7141.          Nothing.
  7142.  
  7143.     Example:
  7144.  
  7145.          nMode := SetVGA()
  7146.          SetPixel ( 330, 240, 2 )
  7147.          Inkey(0)
  7148.          TxtMode()
  7149.  
  7150. See Also: "GetPixel()" 
  7151.  
  7152.  
  7153.     SetVGA()
  7154.  
  7155.          Activates the 640x480 16 colors VGA mode
  7156.  
  7157.     Syntax:
  7158.  
  7159.          SetVGA() -> nOldMode
  7160.  
  7161.     Description:
  7162.  
  7163.          It turns the video mode VGA 640x480x16 colors and returns the
  7164.          last mode.
  7165.  
  7166.          This function is a special case of the generic VideoMode().
  7167.  
  7168.     Return:
  7169.  
  7170.          The last video mode.
  7171.  
  7172.     Example:
  7173.  
  7174.          SetVGA()
  7175.  
  7176. See Also: "SetEGA()" "VideoMode()" "TxtMode()" 
  7177.  
  7178.  
  7179.     SetVGA256()
  7180.  
  7181.          Activates the 320x200 256 colors VGA mode
  7182.  
  7183.     Syntax:
  7184.  
  7185.          SetVGA256() -> nOldMode
  7186.  
  7187.     Description:
  7188.  
  7189.          It turns the video mode VGA 320x200x256 colors and returns the
  7190.          last mode.
  7191.  
  7192.  
  7193.                                  - Page 120 -
  7194. Norton Guide: `FAST.lib 3.50 » Reference'
  7195.  
  7196.  
  7197.          This function is a special case of the generic VideoMode().
  7198.  
  7199.     Return:
  7200.  
  7201.          The last video mode.
  7202.  
  7203.     Example:
  7204.  
  7205.          SetVGA256()
  7206.  
  7207. See Also: "SetEGA()" "VideoMode()" "SetVGA()" "TxtMode()" 
  7208.  
  7209.  
  7210.     SetVGA()
  7211.  
  7212.          Activates the 80x25 text mode
  7213.  
  7214.     Syntax:
  7215.  
  7216.          TxtMode() -> nOldMode
  7217.  
  7218.     Description:
  7219.  
  7220.          It turns the 80x25 text video mode and returns the last mode.
  7221.  
  7222.          This function is a special case of the generic VideoMode().
  7223.  
  7224.     Return:
  7225.  
  7226.          The last video mode.
  7227.  
  7228.     Example:
  7229.  
  7230.          TxtMode()
  7231.  
  7232. See Also: "SetEGA()" "VideoMode()" "SetVGA()" 
  7233.  
  7234.  
  7235.     Upgrade()
  7236.  
  7237.          Makes a progressive restore of the palette
  7238.  
  7239.     Syntax:
  7240.  
  7241.          Upgrade( cPalette ) -> NIL
  7242.  
  7243.          cPalette : A string of 768 bytes with the actual palette or with
  7244.                     the one wanted to be taken as reference for the upgrade.
  7245.  
  7246.     Description:
  7247.  
  7248.          This function works in synchronism with the CRT controller so that
  7249.          the degrade can offer a vision of soft and progressive change.
  7250.  
  7251.     Return:
  7252.  
  7253.                                  - Page 121 -
  7254. Norton Guide: `FAST.lib 3.50 » Reference'
  7255.  
  7256.  
  7257.  
  7258.          Nothing.
  7259.  
  7260.     Example:
  7261.  
  7262.          cPalette := GetPalette()
  7263.          Degrade( cPalette )
  7264.          Upgrade( cPalette )
  7265.  
  7266. See Also: "Degrade()" "GetPalette()" 
  7267.  
  7268.  
  7269.     VESAMode()
  7270.  
  7271.          Activates a VESA video mode
  7272.  
  7273.     Syntax:
  7274.  
  7275.          VESAMode( [nMode] ) -> nOldMode
  7276.  
  7277.          nMode : The VESA video mode to make active from the table:
  7278.  
  7279.            VESA 1.0
  7280.  
  7281.               0-255   ->   OEM video modes, CGA, EGA, VGA...
  7282.                 256   ->   640 x  400 x 256 colors Graph
  7283.                 257   ->   640 x  480 x 256 colors Graph
  7284.                 258   ->   800 x  600 x  16 colors Graph
  7285.                 259   ->   800 x  600 x 256 colors Graph
  7286.                 260   ->  1024 x  768 x  16 colors Graph
  7287.                 261   ->  1024 x  768 x 256 colors Graph
  7288.                 262   ->  1280 x 1024 x  16 colors Graph
  7289.                 263   ->  1280 x 1024 x 256 colors Graph
  7290.                 264   ->    80 x   60 x  16 colors Text
  7291.                 265   ->   132 x   25 x  16 colors Text
  7292.                 266   ->   132 x   43 x  16 colors Text
  7293.                 267   ->   132 x   50 x  16 colors Text
  7294.                 268   ->   132 x   60 x  16 colors Text
  7295.  
  7296.            VESA 1.2
  7297.  
  7298.                 269   ->   320 x  200 x 32k colors Graph
  7299.                 270   ->   320 x  200 x 64k colors Graph
  7300.                 271   ->   320 x  200 x 16M colors Graph
  7301.                 272   ->   640 x  480 x 32k colors Graph
  7302.                 273   ->   640 x  480 x 64k colors Graph
  7303.                 274   ->   640 x  480 x 16M colors Graph
  7304.                 275   ->   800 x  600 x 32k colors Graph
  7305.                 276   ->   800 x  600 x 64k colors Graph
  7306.                 277   ->   800 x  600 x 16M colors Graph
  7307.                 278   ->  1024 x  768 x 32k colors Graph
  7308.                 279   ->  1024 x  768 x 64k colors Graph
  7309.                 280   ->  1024 x  768 x 16M colors Graph
  7310.                 281   ->  1280 x 1024 x 32k colors Graph
  7311.                 282   ->  1280 x 1024 x 64k colors Graph
  7312.  
  7313.                                  - Page 122 -
  7314. Norton Guide: `FAST.lib 3.50 » Reference'
  7315.  
  7316.  
  7317.                 283   ->  1280 x 1024 x 16M colors Graph
  7318.  
  7319.     Description:
  7320.  
  7321.          It activates a video mode via VESA driver. The advantage of using
  7322.          this driver is that you can forget about programming different SVGA
  7323.          cards as the VESA driver will make them all behave in the same way.
  7324.  
  7325.          The driver exists on most BBS < Universal VESA > that can be
  7326.          installed over a great number of chip sets. Nevertheless, It is
  7327.          recommended to use the specific VESA drivers for each card as these
  7328.          ones are more optimized.
  7329.  
  7330.     Return:
  7331.  
  7332.          The last video mode.
  7333.  
  7334.     Example:
  7335.  
  7336.          ? VESAMode( 257 )  // activate mi SVGA a 640x480x256 colors
  7337.  
  7338. See Also: "IsVESA()" "VESAOEM()" "VESAVer()" 
  7339.  
  7340.  
  7341.     VESAOEM()
  7342.  
  7343.          Returns the OEM of the VESA driver
  7344.  
  7345.     Syntax:
  7346.  
  7347.          VESAOEM() -> cOEM
  7348.  
  7349.     Description:
  7350.  
  7351.          It returns a string with the OEM or builder of the VESA driver.
  7352.  
  7353.     Return:
  7354.  
  7355.          A string with the name of the builder.
  7356.  
  7357.     Example:
  7358.  
  7359.          ? VESAOEM()
  7360.  
  7361. See Also: "IsVESA()" "VESAMode()" "VESAVer()" 
  7362.  
  7363.  
  7364.     VESAVer()
  7365.  
  7366.          Returns the VESA driver version
  7367.  
  7368.     Syntax:
  7369.  
  7370.          VESAVer() -> cVersion
  7371.  
  7372.  
  7373.                                  - Page 123 -
  7374. Norton Guide: `FAST.lib 3.50 » Reference'
  7375.  
  7376.  
  7377.     Description:
  7378.  
  7379.          It returns a 5 character string with the VESA driver version, no
  7380.          matter if the driver is soft made or it is included in the video
  7381.          card.
  7382.  
  7383.     Return:
  7384.  
  7385.          A string like xx.xx with the driver version.
  7386.  
  7387.     Example:
  7388.  
  7389.          If IsVESA()
  7390.            ? VESAVer()
  7391.          EndIf
  7392.  
  7393. See Also: "IsVESA()" "VESAMode()" "VESAOEM()" 
  7394.  
  7395.  
  7396.     VideoMode()
  7397.  
  7398.          Returns and/or changes the video mode
  7399.  
  7400.     Syntax:
  7401.  
  7402.          VideoMode( nNewMode ) -> nOldMode
  7403.  
  7404.          nNewMode : The new video mode.
  7405.                     01 -> 40x25
  7406.                     03 -> 80x25
  7407.                     15 -> EGA 640x350 Mono
  7408.                     16 -> EGA 640x350 Color
  7409.                     17 -> VGA 640x480 Mono
  7410.                     18 -> VGA 640x480 Color
  7411.                     ...
  7412.  
  7413.     Description:
  7414.  
  7415.          It returns the active video mode and optionally changes it if
  7416.          nNewMode is specified. For getting more information about the
  7417.          video modes consult the interrupts list of Ralf Brown which is
  7418.          available in almost all BBS.
  7419.  
  7420.     Return:
  7421.  
  7422.          The active video mode.
  7423.  
  7424.     Example:
  7425.  
  7426.          nOld := VideoMode ( 18 )
  7427.          DispStr ( "Hello", 10, 10, 7, 12 )
  7428.          Inkey(0)
  7429.          VideoMode ( nOld )
  7430.  
  7431.  
  7432.                                  - Page 124 -
  7433. Norton Guide: `FAST.lib 3.50 » Reference'
  7434.  
  7435.  
  7436. Menu List: FAST.lib 1, Keyboard
  7437.  
  7438.  
  7439.  
  7440.  
  7441.     These functions are to centralize all of the accesses of the keyboard in
  7442.  Clipper.
  7443.  
  7444.  ──────────────────────────────────────────────────────────────────────────────
  7445.  
  7446.  
  7447.     ClrBuffer()
  7448.  
  7449.          Empties the keyboard buffer and Lastkey() value
  7450.  
  7451.     Syntax:
  7452.  
  7453.          ClrBuffer() -> NIL
  7454.  
  7455.     Description:
  7456.  
  7457.          ClrBuffer() is a keyboard function that clears all pending keys
  7458.          from the Clipper keyboard buffer and Lastkey() value.
  7459.  
  7460.     Return:
  7461.  
  7462.          Nothing.
  7463.  
  7464.     Example:
  7465.  
  7466.          ClrBuffer()
  7467.  
  7468. See Also: "Inkey2()" "SetLastKey()" 
  7469.  
  7470.  
  7471.     FastKey()
  7472.  
  7473.          Sets the maximum typematic rate
  7474.  
  7475.     Syntax:
  7476.  
  7477.          FastKey() -> NIL
  7478.  
  7479.     Description:
  7480.  
  7481.          Sets the minimum typematic interval time and auto-repeat start
  7482.          delay time.
  7483.  
  7484.     Return:
  7485.  
  7486.          Nothing.
  7487.  
  7488.     Example:
  7489.  
  7490.          FastKey()
  7491.  
  7492.                                  - Page 125 -
  7493. Norton Guide: `FAST.lib 3.50 » Reference'
  7494.  
  7495.  
  7496.  
  7497. See Also: "NormKey()" "SlowKey()" 
  7498.  
  7499.  
  7500.     Inkey2()
  7501.  
  7502.          Does the same as Inkey() but takes care of Setkey()
  7503.  
  7504.     Syntax:
  7505.  
  7506.          Inkey2( nSeconds ) -> NIL
  7507.  
  7508.     Description:
  7509.  
  7510.          The working of this function is exactly the same as the
  7511.          standard Inkey() of Clipper.lib library but takes care of
  7512.          the SetKey() defined on the system.
  7513.  
  7514.     Return:
  7515.  
  7516.          The same as InKey()
  7517.  
  7518.     Example:
  7519.  
  7520.          InKey2( 0 )
  7521.  
  7522. See Also: "ClrBuffer()" 
  7523.  
  7524.  
  7525.     IsAlt()
  7526.  
  7527.          Determines if the Alt key is pressed
  7528.  
  7529.     Syntax:
  7530.  
  7531.          IsAlt() -> lPress
  7532.  
  7533.     Description:
  7534.  
  7535.          Determines if the Alt key is pressed returning a logic value.
  7536.  
  7537.     Return:
  7538.  
  7539.          A logic value indicating if is pressed or not.
  7540.  
  7541.     Example:
  7542.  
  7543.          If IsAlt()
  7544.            Warning ( "Alt is down" )
  7545.          EndIf
  7546.  
  7547. See Also: "IsCtrl()" "IsLShift()" "IsRShift()" 
  7548.  
  7549.  
  7550.     IsCaps()
  7551.  
  7552.                                  - Page 126 -
  7553. Norton Guide: `FAST.lib 3.50 » Reference'
  7554.  
  7555.  
  7556.  
  7557.          Determines if the Caps lock key is active
  7558.  
  7559.     Syntax:
  7560.  
  7561.          IsCaps( [ lNew ] ) -> lActive
  7562.  
  7563.          lNew : a logic value with the new state of Caps lock key
  7564.  
  7565.     Description:
  7566.  
  7567.          Determines if the Caps lock key is active returning a logic value.
  7568.  
  7569.     Return:
  7570.  
  7571.          A logic value indicating if is active or not.
  7572.  
  7573.     Example:
  7574.  
  7575.          If IsCaps()
  7576.            Warning ( "Capslock is on" )
  7577.          EndIf
  7578.  
  7579. See Also: "IsInsert()" "IsNum()" "IsScroll()" 
  7580.  
  7581.  
  7582.     IsCtrl()
  7583.  
  7584.          Determines if the Ctrl key is pressed
  7585.  
  7586.     Syntax:
  7587.  
  7588.          IsCtrl() -> lPress
  7589.  
  7590.     Description:
  7591.  
  7592.          Determines if the Ctrl key is pressed returning a logic value.
  7593.  
  7594.     Return:
  7595.  
  7596.          A logic value indicating if is pressed or not.
  7597.  
  7598.     Example:
  7599.  
  7600.          If IsCtrl()
  7601.            Warning ( "Ctrl is down" )
  7602.          EndIf
  7603.  
  7604. See Also: "IsAlt()" "IsLShift()" "IsRShift()" 
  7605.  
  7606.  
  7607.     IsInsert()
  7608.  
  7609.          Determines if Insert mode is active
  7610.  
  7611.  
  7612.                                  - Page 127 -
  7613. Norton Guide: `FAST.lib 3.50 » Reference'
  7614.  
  7615.  
  7616.     Syntax:
  7617.  
  7618.          IsInsert( [ lNew ] ) -> lActive
  7619.  
  7620.          lNew : a logic value with the new mode of Insert key
  7621.  
  7622.     Description:
  7623.  
  7624.          Determines if the Insert key is active returning a logic value.
  7625.  
  7626.     Return:
  7627.  
  7628.          A logic value indicating if is active or not.
  7629.  
  7630.     Example:
  7631.  
  7632.          If ! IsInsert()
  7633.            Warning ( "Insert is on" )
  7634.          EndIf
  7635.  
  7636. See Also: "IsCaps()" "IsNum()" "IsScroll()" 
  7637.  
  7638.  
  7639.     IsLShift()
  7640.  
  7641.          Determines if the Left Shift key is pressed
  7642.  
  7643.     Syntax:
  7644.  
  7645.          IsLShift() -> lPress
  7646.  
  7647.     Description:
  7648.  
  7649.          Determines if the Left Shift key is pressed returning a logic
  7650.          value.
  7651.  
  7652.     Return:
  7653.  
  7654.          A logic value indicating if is pressed or not.
  7655.  
  7656.     Example:
  7657.  
  7658.          If IsLShift()
  7659.            Warning ( "Left Shift is down" )
  7660.          EndIf
  7661.  
  7662. See Also: "IsAlt()" "IsCtrl()" "IsRShift()" 
  7663.  
  7664.  
  7665.     IsNum()
  7666.  
  7667.          Determines if the Num lock key is active
  7668.  
  7669.     Syntax:
  7670.  
  7671.  
  7672.                                  - Page 128 -
  7673. Norton Guide: `FAST.lib 3.50 » Reference'
  7674.  
  7675.  
  7676.          IsNum( [ lNew ] ) -> lActive
  7677.  
  7678.          lNew : a logic value with the new state of Num lock key
  7679.  
  7680.     Description:
  7681.  
  7682.          Determines if the Num lock key is active returning a logic value.
  7683.  
  7684.     Return:
  7685.  
  7686.          A logic value indicating if is active or not.
  7687.  
  7688.     Example:
  7689.  
  7690.          If IsNum()
  7691.            Warning ( "Numeric pad is active" )
  7692.          EndIf
  7693.  
  7694. See Also: "IsCaps()" "IsInsert()" "IsScroll()" 
  7695.  
  7696.  
  7697.     IsRShift()
  7698.  
  7699.          Determines if the Right Shift key is pressed
  7700.  
  7701.     Syntax:
  7702.  
  7703.          IsRShift() -> lPress
  7704.  
  7705.     Description:
  7706.  
  7707.          Determines if the Right Shift key is pressed returning a logic
  7708.          value.
  7709.  
  7710.     Return:
  7711.  
  7712.          A logic value indicating if is pressed or not.
  7713.  
  7714.     Example:
  7715.  
  7716.          If IsRShift()
  7717.            Warning ( "Right shift is down" )
  7718.          EndIf
  7719.  
  7720. See Also: "IsAlt()" "IsCtrl()" "IsLShift()" 
  7721.  
  7722.  
  7723.     IsScroll()
  7724.  
  7725.          Determines if the Scroll lock key is active
  7726.  
  7727.     Syntax:
  7728.  
  7729.          IsScroll( [ lNew ] ) -> lActive
  7730.  
  7731.  
  7732.                                  - Page 129 -
  7733. Norton Guide: `FAST.lib 3.50 » Reference'
  7734.  
  7735.  
  7736.          lNew : a logic value with the new state of Scroll lock key
  7737.  
  7738.     Description:
  7739.  
  7740.          Determines if the Scroll lock key is active returning a logic
  7741.          value.
  7742.  
  7743.     Return:
  7744.  
  7745.          A logic value indicating if is active or not.
  7746.  
  7747.     Example:
  7748.  
  7749.          If IsScroll()
  7750.            Warning ( "Scroll lock is active" )
  7751.          EndIf
  7752.  
  7753. See Also: "IsCaps()" "IsInsert()" "IsNum()" 
  7754.  
  7755.  
  7756.     KeyScan()
  7757.  
  7758.          Extracts a character from the keyboard buffer
  7759.  
  7760.     Syntax:
  7761.  
  7762.          KeyScan() -> nKey
  7763.  
  7764.     Description:
  7765.  
  7766.          Extracts a character from the keyboard buffer or halts the program
  7767.          until a key is pressed.
  7768.  
  7769.          KeyScan() returns an integer value identifying the key extracted
  7770.          from the keyboard buffer.
  7771.  
  7772.                 nkey % 256 = ascii code   (0 in function keys)
  7773.                 nKey / 256 = scan code
  7774.  
  7775.     Return:
  7776.  
  7777.          The key pressed.
  7778.  
  7779.     Example:
  7780.  
  7781.          nKey := KeyScan()
  7782.          ? nKey / 256
  7783.          ? nKey % 256
  7784.  
  7785. See Also: "KeyStuff()" 
  7786.  
  7787.  
  7788.     KeyStuff()
  7789.  
  7790.          Stuffs a character into the keyboard buffer
  7791.  
  7792.                                  - Page 130 -
  7793. Norton Guide: `FAST.lib 3.50 » Reference'
  7794.  
  7795.  
  7796.  
  7797.     Syntax:
  7798.  
  7799.          KeyStuff( nAscii, nCod ) -> NIL
  7800.  
  7801.     Description:
  7802.  
  7803.          Stuffs a character into the keyboard buffer without clearing pending
  7804.          keystrokes.  Allows function keys. It must input the ascii code of
  7805.          the key or the scan code.  The function keys have the ascii code at 0
  7806.          and indicate this value on the scan code.  The normal keys (not
  7807.          function) indicatet his value on the ascii code and this scan code is
  7808.          at 0.
  7809.  
  7810.     Return:
  7811.  
  7812.          Nothing.
  7813.  
  7814.     Example:
  7815.  
  7816.          nKey := KeyScan()
  7817.          KeyStuff ( nKey % 256, nKey / 256 )
  7818.  
  7819. See Also: "KeyScan()" 
  7820.  
  7821.  
  7822.     NormKey()
  7823.  
  7824.          Sets the normal typematic rate
  7825.  
  7826.     Syntax:
  7827.  
  7828.          NormKey() -> NIL
  7829.  
  7830.     Description:
  7831.  
  7832.          Sets the normal typematic interval time and auto-repeat start
  7833.          delay time.
  7834.  
  7835.     Return:
  7836.  
  7837.          Nothing.
  7838.  
  7839.     Example:
  7840.  
  7841.          NormKey()
  7842.  
  7843. See Also: "FastKey()" "SlowKey()" 
  7844.  
  7845.  
  7846.     SetLastKey()
  7847.  
  7848.          Sets the LastKey() value
  7849.  
  7850.     Syntax:
  7851.  
  7852.                                  - Page 131 -
  7853. Norton Guide: `FAST.lib 3.50 » Reference'
  7854.  
  7855.  
  7856.  
  7857.          SetLastKey( nKey ) -> NIL
  7858.  
  7859.     Description:
  7860.  
  7861.          SetLastKey() is a keyboard function that clears all pending keys
  7862.          from the Clipper keyboard buffer and sets the LastKey() value.
  7863.  
  7864.     Return:
  7865.  
  7866.          Nothing.
  7867.  
  7868.     Example:
  7869.  
  7870.          #include "inkey.ch"
  7871.  
  7872.          SetLastKey( K_ESC )
  7873.  
  7874. See Also: "ClrBuffer()" 
  7875.  
  7876.  
  7877.     SlowKey()
  7878.  
  7879.          Sets the minimum typematic rate
  7880.  
  7881.     Syntax:
  7882.  
  7883.          SlowKey() -> NIL
  7884.  
  7885.     Description:
  7886.  
  7887.          Sets the maximum typematic interval time and auto-repeat start
  7888.          delay time.
  7889.  
  7890.     Return:
  7891.  
  7892.          Nothing.
  7893.  
  7894.     Example:
  7895.  
  7896.          SlowKey()
  7897.  
  7898. See Also: "FastKey()" "NormKey()" 
  7899.  
  7900.  
  7901.  
  7902.  
  7903.  
  7904.  
  7905.  
  7906.  
  7907.  
  7908.  
  7909.  
  7910.  
  7911.                                  - Page 132 -
  7912. Norton Guide: `FAST.lib 3.50 » Reference'
  7913.  
  7914.  
  7915. Menu List: FAST.lib 1, LAN and Multitaskers
  7916.  
  7917.  
  7918.  
  7919.  
  7920.     Here you have a few functions available to make your work with Novell,
  7921.   Windows and DesqView be less boring.
  7922.  
  7923.  ──────────────────────────────────────────────────────────────────────────────
  7924.  
  7925.  
  7926.     DesqVer()
  7927.  
  7928.          Returns DesqView version
  7929.  
  7930.     Syntax:
  7931.  
  7932.          DesqVer() -> cVersion
  7933.  
  7934.     Description:
  7935.  
  7936.          Returns DesqView version or an empty string if DesqView is not
  7937.          running.
  7938.  
  7939.     Return:
  7940.  
  7941.          A character value with DesqView version or an empty string if
  7942.          Desqview is not running.
  7943.  
  7944.     Example:
  7945.  
  7946.          If IsDesqView()
  7947.            Warning( "DesqView Version: " + DesqVer() )
  7948.          EndIf
  7949.  
  7950. See Also: "IsDesqView()" 
  7951.  
  7952.  
  7953.     IsDesqView()
  7954.  
  7955.          Desqview installation check
  7956.  
  7957.     Syntax:
  7958.  
  7959.          IsDesqView() -> lLoaded
  7960.  
  7961.     Description:
  7962.  
  7963.          Determines if DesqView is installed.
  7964.  
  7965.     Return:
  7966.  
  7967.          A logic value.
  7968.  
  7969.     Example:
  7970.  
  7971.                                  - Page 133 -
  7972. Norton Guide: `FAST.lib 3.50 » Reference'
  7973.  
  7974.  
  7975.  
  7976.          If IsDesqView()
  7977.            Warning( "Desqview is present" )
  7978.          EndIf
  7979.  
  7980. See Also: "IsWin3()" "IsLANtastic()" "IsMSLAN()" "IsNovell()" 
  7981.  
  7982.  
  7983.     IsLANtastic()
  7984.  
  7985.          LANtastic installation check
  7986.  
  7987.     Syntax:
  7988.  
  7989.          IsLANtastic() -> lLAN
  7990.  
  7991.     Description:
  7992.  
  7993.          Determines if LANtastic is installed.
  7994.  
  7995.     Return:
  7996.  
  7997.          A logic value.
  7998.  
  7999.     Example:
  8000.  
  8001.          If IsLANtastic()
  8002.            Warning ( "LANTastic is present" )
  8003.          EndIf
  8004.  
  8005. See Also: "IsDesqView()" "IsMSLAN()" "IsNovell()" "IsWin3()" 
  8006.  
  8007.  
  8008.     IsMSLAN()
  8009.  
  8010.          MS LAN installation check
  8011.  
  8012.     Syntax:
  8013.  
  8014.          IsMSLAN() -> lMSLAN
  8015.  
  8016.     Description:
  8017.  
  8018.          Determines if a MS LAN is installed.
  8019.  
  8020.     Return:
  8021.  
  8022.          A logic value.
  8023.  
  8024.     Example:
  8025.  
  8026.          If IsMSLAN()
  8027.            Warning ( "MS LAN is present. Hello Bill." )
  8028.          EndIf
  8029.  
  8030.  
  8031.                                  - Page 134 -
  8032. Norton Guide: `FAST.lib 3.50 » Reference'
  8033.  
  8034.  
  8035. See Also: "IsDesqView()" "IsLANtastic()" "IsNovell()" "IsWin3()" 
  8036.  
  8037.  
  8038.     IsNovell()
  8039.  
  8040.          Novell installation check
  8041.  
  8042.     Syntax:
  8043.  
  8044.          IsNovell() -> lNovell
  8045.  
  8046.     Description:
  8047.  
  8048.          Determines if Novell Netware is installed.
  8049.  
  8050.     Return:
  8051.  
  8052.          A logic value.
  8053.  
  8054.     Example:
  8055.  
  8056.          If ! IsNovell()
  8057.            Warning ( "Netware, better" )
  8058.          EndIf
  8059.  
  8060. See Also: "IsDesqView()" "IsLANtastic()" "IsMSLAN()" "IsWin3()" 
  8061.  
  8062.  
  8063.     IsWin3()
  8064.  
  8065.          Windows 3 installation check
  8066.  
  8067.     Syntax:
  8068.  
  8069.          IsWin3() -> lWin
  8070.  
  8071.     Description:
  8072.  
  8073.          Determines if Windows 3 is installed.
  8074.  
  8075.     Return:
  8076.  
  8077.          A logic value.
  8078.  
  8079.     Example:
  8080.  
  8081.          If IsWin3()
  8082.            Warning ( "Close the window" )
  8083.          EndIf
  8084.  
  8085. See Also: "IsDesqView()" "IsLANtastic()" "IsMSLAN()" "IsNovell()" 
  8086.  
  8087.  
  8088.     nwAbortCap()
  8089.  
  8090.  
  8091.                                  - Page 135 -
  8092. Norton Guide: `FAST.lib 3.50 » Reference'
  8093.  
  8094.  
  8095.          Novell Netware, cancels LPT capture
  8096.  
  8097.     Syntax:
  8098.  
  8099.          nwAbortCap( nPort ) -> nError
  8100.  
  8101.          nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
  8102.  
  8103.     Description:
  8104.  
  8105.          Cancels remote printer capture and aborts pending works.
  8106.  
  8107.     Return:
  8108.  
  8109.          A numeric value indicating an error or zero if there is no error.
  8110.  
  8111.     Example:
  8112.  
  8113.          If nwAbortCap() == 0
  8114.            Warning ( "Captured ok" )
  8115.          EndIf
  8116.  
  8117. See Also: "nwBeginCap()" "nwEndCap()" "nwFlushCap()" 
  8118.  
  8119.  
  8120.     nwBeginCap()
  8121.  
  8122.          Novell Netware, starts LPT capture
  8123.  
  8124.     Syntax:
  8125.  
  8126.          nwBeginCap( nPort ) -> nError
  8127.  
  8128.          nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
  8129.  
  8130.     Description:
  8131.  
  8132.          Begins capture to a remote printer.
  8133.  
  8134.     Return:
  8135.  
  8136.          A numeric value indicating an error or zero if there is no error.
  8137.  
  8138.     Example:
  8139.  
  8140.          If nwBeginCap() == 0
  8141.            Warning ( "Captured ok" )
  8142.          EndIf
  8143.  
  8144. See Also: "nwAbortCap()" "nwEndCap()" "nwFlushCap()" 
  8145.  
  8146.  
  8147.     nwEndCap()
  8148.  
  8149.          Novell Netware, ends LPT capture
  8150.  
  8151.                                  - Page 136 -
  8152. Norton Guide: `FAST.lib 3.50 » Reference'
  8153.  
  8154.  
  8155.  
  8156.     Syntax:
  8157.  
  8158.          nwEndCap( nPort ) -> nError
  8159.  
  8160.          nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
  8161.  
  8162.     Description:
  8163.  
  8164.          Ends remote printer capture and aborts pending works.
  8165.  
  8166.     Return:
  8167.  
  8168.          A numeric value indicating an error or zero if there is no error.
  8169.  
  8170.     Example:
  8171.  
  8172.          If nwEndCap() == 0
  8173.            Warning ( "Captured ok" )
  8174.          EndIf
  8175.  
  8176. See Also: "nwAbortCap()" "nwBeginCap()" "nwFlushCap()" 
  8177.  
  8178.  
  8179.     nwFlushCap()
  8180.  
  8181.          Novell Netware, refreshes LPT capture
  8182.  
  8183.     Syntax:
  8184.  
  8185.          nwFlushCap( nPort ) -> nError
  8186.  
  8187.          nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
  8188.  
  8189.     Description:
  8190.  
  8191.          Refreshes data printer queue information.
  8192.  
  8193.     Return:
  8194.  
  8195.          A numeric value indicating an error or zero if there is no error.
  8196.  
  8197.     Example:
  8198.  
  8199.          If nwFlushCap() == 0
  8200.            ...
  8201.          EndIf
  8202.  
  8203. See Also: "nwAbortCap()" "nwBeginCap()" "nwEndCap()" 
  8204.  
  8205.  
  8206.     nwLogout()
  8207.  
  8208.          Novell Netware, system logout
  8209.  
  8210.  
  8211.                                  - Page 137 -
  8212. Norton Guide: `FAST.lib 3.50 » Reference'
  8213.  
  8214.  
  8215.     Syntax:
  8216.  
  8217.          nwLogout() -> nError
  8218.  
  8219.     Description:
  8220.  
  8221.          Says goodbye to Novell ending all pending works and services.
  8222.  
  8223.     Return:
  8224.  
  8225.          A numeric value indicating an error or zero if there is no error.
  8226.  
  8227.     Example:
  8228.  
  8229.          If nwLogout() == 0
  8230.            Warning ( "Good bye." )
  8231.          EndIf
  8232.  
  8233. See Also: "nwStation()" 
  8234.  
  8235.  
  8236.     nwStation()
  8237.  
  8238.          Novell Netware, gets station number
  8239.  
  8240.     Syntax:
  8241.  
  8242.          nwStation() -> nConnect
  8243.  
  8244.     Description:
  8245.  
  8246.          Returns station number connection.
  8247.  
  8248.     Return:
  8249.  
  8250.          A numeric value indicating the station number connection.
  8251.  
  8252.     Example:
  8253.  
  8254.          ? Str( nwStation() )
  8255.  
  8256. See Also: "nwLogout()" 
  8257.  
  8258.  
  8259.     WinVersion()
  8260.  
  8261.          Returns MS-Windows version
  8262.  
  8263.     Syntax:
  8264.  
  8265.          WinVersion() -> cVersion
  8266.  
  8267.     Description:
  8268.  
  8269.          Returns MS-Windows version or an empty string if Windows is not
  8270.  
  8271.                                  - Page 138 -
  8272. Norton Guide: `FAST.lib 3.50 » Reference'
  8273.  
  8274.  
  8275.          running.
  8276.  
  8277.     Return:
  8278.  
  8279.          A character value with Windows version or an empty string if Windows
  8280.          is not running.
  8281.  
  8282.     Example:
  8283.  
  8284.          Warning( "Windows Version: " + WinVersion() )
  8285.  
  8286. See Also: "IsWin3()" 
  8287.  
  8288.  
  8289.     WinClipSize()
  8290.  
  8291.          Determines the size of the win 3 clipboard
  8292.  
  8293.     Syntax:
  8294.  
  8295.          WinClipSize() -> nBytes
  8296.  
  8297.     Description:
  8298.  
  8299.          Determines the size of the win 3 clipboard if windows is running.
  8300.  
  8301.     Return:
  8302.  
  8303.          A numerical value indicating the size of the win 3 clipboard.
  8304.  
  8305.     Example:
  8306.  
  8307.          If WinOpenClip()
  8308.            ? WinClipSize()
  8309.            If ! WinCloseClip()
  8310.              ? "Error closing clipboard"
  8311.            EndIf
  8312.          Else
  8313.            "Error opening clipboard"
  8314.          EndIf
  8315.  
  8316. See Also: "WinCloseClip()" "WinOpenClip()" 
  8317.  
  8318.  
  8319.     WinCloseClip()
  8320.  
  8321.          Closes the win 3 clipboard
  8322.  
  8323.     Syntax:
  8324.  
  8325.          WinCloseClip() -> lOk
  8326.  
  8327.     Description:
  8328.  
  8329.          Closes the win 3 clipboard if windows is running.
  8330.  
  8331.                                  - Page 139 -
  8332. Norton Guide: `FAST.lib 3.50 » Reference'
  8333.  
  8334.  
  8335.  
  8336.     Return:
  8337.  
  8338.          A logic value indicating if an error is found.
  8339.  
  8340.     Example:
  8341.  
  8342.          If WinOpenClip()
  8343.            ? WinClipSize()
  8344.            If ! WinCloseClip()
  8345.              ? "Error closing clipboard"
  8346.            EndIf
  8347.          Else
  8348.            "Error opening clipboard"
  8349.          EndIf
  8350.  
  8351. See Also: "WinClipSize()" "WinOpenClip()" 
  8352.  
  8353.  
  8354.     WinDelClip()
  8355.  
  8356.          Deletes the content of the win 3 clipboard
  8357.  
  8358.     Syntax:
  8359.  
  8360.          WinDelClip() -> lOk
  8361.  
  8362.     Description:
  8363.  
  8364.          Deletes the content of the win 3 clipboard if windows is running.
  8365.  
  8366.     Return:
  8367.  
  8368.          A logic value indicating if an error is found.
  8369.  
  8370.     Example:
  8371.  
  8372.          If WinOpenClip()
  8373.            ? WinClipSize()
  8374.            If ! WinDelClip()
  8375.              ? "Error deleting clipboard"
  8376.            EndIf
  8377.            If ! WinCloseClip()
  8378.              ? "Error closing clipboard"
  8379.            EndIf
  8380.          Else
  8381.            "Error opening clipboard"
  8382.          EndIf
  8383.  
  8384. See Also: "WinClipSize()" "WinOpenClip()" 
  8385.  
  8386.  
  8387.     WinGetClip()
  8388.  
  8389.          Gets the content of the win 3 clipboard
  8390.  
  8391.                                  - Page 140 -
  8392. Norton Guide: `FAST.lib 3.50 » Reference'
  8393.  
  8394.  
  8395.  
  8396.     Syntax:
  8397.  
  8398.          WinGetClip() -> cClip
  8399.  
  8400.     Description:
  8401.  
  8402.          Gets the content of the win 3 clipboard if windows is running.
  8403.  
  8404.     Return:
  8405.  
  8406.          A string with the content of the win 3 clipboard.
  8407.  
  8408.     Example:
  8409.  
  8410.          If WinOpenClip()
  8411.            cBuffer := WinGetClip()
  8412.            WinCloseClip()
  8413.          EndIf
  8414.  
  8415. See Also: "WinClipSize()" "WinOpenClip()" 
  8416.  
  8417.  
  8418.     WinOpenClip()
  8419.  
  8420.          Opens the win 3 clipboard
  8421.  
  8422.     Syntax:
  8423.  
  8424.          WinOpenClip() -> lOk
  8425.  
  8426.     Description:
  8427.  
  8428.          Opens the win 3 clipboard if windows is running.
  8429.  
  8430.     Return:
  8431.  
  8432.          A logic value indicating if an error is found.
  8433.  
  8434.     Example:
  8435.  
  8436.          If WinOpenClip()
  8437.            cBuffer := WinGetClip()
  8438.            WinCloseClip()
  8439.          EndIf
  8440.  
  8441. See Also: "WinClipSize()" "WinCloseClip()" 
  8442.  
  8443.  
  8444.     WinSetClip()
  8445.  
  8446.          Sets the win 3 clipboard with a specified value
  8447.  
  8448.     Syntax:
  8449.  
  8450.  
  8451.                                  - Page 141 -
  8452. Norton Guide: `FAST.lib 3.50 » Reference'
  8453.  
  8454.  
  8455.          WinSetClip( cClip ) -> lOk
  8456.  
  8457.          cClip : The value to insert in the win 3 clipboard
  8458.  
  8459.     Description:
  8460.  
  8461.          Sets the content of the win 3 clipboard if windows is running.
  8462.  
  8463.     Return:
  8464.  
  8465.          A logic value indicating if an error is found.
  8466.  
  8467.     Example:
  8468.  
  8469.          If WinOpenClip()
  8470.            WinSetClip( "This a text" )
  8471.            WinCloseClip()
  8472.          EndIf
  8473.  
  8474. See Also: "WinClipSize()" "WinOpenClip()" 
  8475.  
  8476.  
  8477.  
  8478.  
  8479.  
  8480.  
  8481.  
  8482.  
  8483.  
  8484.  
  8485.  
  8486.  
  8487.  
  8488.  
  8489.  
  8490.  
  8491.  
  8492.  
  8493.  
  8494.  
  8495.  
  8496.  
  8497.  
  8498.  
  8499.  
  8500.  
  8501.  
  8502.  
  8503.  
  8504.  
  8505.  
  8506.  
  8507.  
  8508.  
  8509.  
  8510.                                  - Page 142 -
  8511. Norton Guide: `FAST.lib 3.50 » Reference'
  8512.  
  8513.  
  8514. Menu List: FAST.lib 1, MetaFunctions
  8515.  
  8516.  
  8517.  
  8518.  
  8519.     Trying to document everything would be impossible. You better look
  8520.  around and find out what you need.
  8521.  
  8522.  ──────────────────────────────────────────────────────────────────────────────
  8523.  
  8524.  
  8525.     AsciiTab()
  8526.  
  8527.          Shows an ascii table
  8528.  
  8529.     Syntax:
  8530.  
  8531.          AsciiTab( [nRow], [nCol], [nStart] ) -> NIL
  8532.  
  8533.          nRow   : Row of ascii table
  8534.          nCol   : Column of ascii table
  8535.          nStart : Initial ascii character
  8536.  
  8537.     Description:
  8538.  
  8539.          Shows an ascii table at a given position.
  8540.  
  8541.     Return:
  8542.  
  8543.          Nothing.
  8544.  
  8545.     Example:
  8546.  
  8547.          AsciiTab( 10, 10, 1 )
  8548.  
  8549.  
  8550.     Backup()
  8551.  
  8552.          Makes a backup
  8553.  
  8554.     Syntax:
  8555.  
  8556.          Backup( [dDate], [cTime], [cUser], [cUnit], aDir, [lRec], ;
  8557.                  [cColor], [bBlock] ) -> lError
  8558.  
  8559.          dDate     : Backup date
  8560.          cTime     : Backup time
  8561.          cUser     : Backup user. 127 more characters
  8562.          cUnit     : Backup drive
  8563.          aDir      : Bidimensional array of directories to save.
  8564.          lRec      : A logical value that indicates if the subdirectories
  8565.                      are being backed up.
  8566.          cColor    : Color of the statistics window
  8567.          bBlock    : A codeblock to evaluate before reading a new disk.
  8568.  
  8569.  
  8570.                                  - Page 143 -
  8571. Norton Guide: `FAST.lib 3.50 » Reference'
  8572.  
  8573.  
  8574.     Description:
  8575.  
  8576.          Backups all the given directories.
  8577.  
  8578.          WARNING
  8579.          This function calls dbCloseAll() so it closes all data base files.
  8580.  
  8581.     Return:
  8582.  
  8583.          A logical indicating if an error has been found.
  8584.  
  8585.     Example:
  8586.  
  8587.          If Backup ( Date (), Time (), "FAST.lib", "A:\", ;
  8588.                      { { "C:\DOS\",      "*.*"   }, ;
  8589.                        { "C:\OS2\MDOS\", "*.COM" } }, ;
  8590.                     .T., "N/W,N/W", ;
  8591.                     { || NewDisk() } )
  8592.            BoxWarning ( "Backup ok" )
  8593.          Else
  8594.            BoxWarning ( "Errors detected" )
  8595.          EndIf
  8596.  
  8597.          Function NewDisk ()
  8598.              Format ( 0, 4, .F. )    // Format a 3½ HD disk in A:
  8599.          Return ( .T. )              // It must returns .T.
  8600.                                      // If returns .F. cancels the backup
  8601.  
  8602. See Also: "Restore()" 
  8603.  
  8604.  
  8605.     BigClock()
  8606.  
  8607.          Shows a digital watch with large numbers
  8608.  
  8609.     Syntax:
  8610.  
  8611.          BigClock( [nRow], [nCol] ) -> NIL
  8612.  
  8613.          nRow   : Row position
  8614.          nCol   : Column position
  8615.  
  8616.     Description:
  8617.  
  8618.          This function shows a digital watch with large numbers and waits
  8619.          until a key is pressed restoring the screen.
  8620.  
  8621.     Return:
  8622.  
  8623.          Nothing.
  8624.  
  8625.     Example:
  8626.  
  8627.          BigClock( 10, 20 )
  8628.  
  8629.  
  8630.                                  - Page 144 -
  8631. Norton Guide: `FAST.lib 3.50 » Reference'
  8632.  
  8633.  
  8634. See Also: "Clock()" 
  8635.  
  8636.  
  8637.     Calculator()
  8638.  
  8639.          Displays a calculator
  8640.  
  8641.     Syntax:
  8642.  
  8643.          Calculator( [cColor], [cColorNum], [ColorMem] ) -> nResult
  8644.  
  8645.          cColor    : Box color
  8646.          cColorNum : Numbers color
  8647.          cColorMem : Memory numbers color
  8648.  
  8649.     Description:
  8650.  
  8651.          Display a calculator with selected colors.
  8652.  
  8653.     Return:
  8654.  
  8655.          The result of calculation if F10 is pressed or NIL if Esc is
  8656.          pressed.
  8657.  
  8658.     Example:
  8659.  
  8660.          nRes := Calculator ( "N/W", "G+/N", "R+/N" )
  8661.  
  8662.  
  8663.     Calendar()
  8664.  
  8665.          Display a calendar
  8666.  
  8667.     Syntax:
  8668.  
  8669.          Calendar( [nY], [nX], [cColor], [cSunday], [cColorHigh] ) -> dDate
  8670.  
  8671.          nY         : Row position
  8672.          nX         : Column position
  8673.          cColor     : Calendar color
  8674.          cSunday    : Sunday's color
  8675.          cColorHigh : Selected day color
  8676.  
  8677.     Description:
  8678.  
  8679.          Display a calendar at the given position and colors.
  8680.  
  8681.     Return:
  8682.  
  8683.          Selected date if <┘ is pressed or NIL if Esc is pressed.
  8684.  
  8685.     Example:
  8686.  
  8687.          dDate := Calendar ( 5, 20, "N/BG", "R/BG", "GR+/B" )
  8688.  
  8689.  
  8690.                                  - Page 145 -
  8691. Norton Guide: `FAST.lib 3.50 » Reference'
  8692.  
  8693.  
  8694.  
  8695.     ChkDsk()
  8696.  
  8697.          Checks a floppy format
  8698.  
  8699.     Syntax:
  8700.  
  8701.          ChkDsk ( nDisk ) -> nFormat
  8702.  
  8703.          nDisk : Disk unit to check. A: -> 0, B: -> 1.
  8704.  
  8705.     Description:
  8706.  
  8707.          Checks a floppy disk format and returns a numerical value.
  8708.  
  8709.     Return:
  8710.  
  8711.          -2 Bad parameters
  8712.          -1 Format error
  8713.           0 Unknown format
  8714.           1 360 kb   5¼ DD
  8715.           2 720 kb   3½ DD
  8716.           3 1.2 mb   5¼ HD
  8717.           4 1.44 mb  3½ HD
  8718.  
  8719.     Example:
  8720.  
  8721.          nFormat := ChkDsk ( 0 )
  8722.          If nFormat > 0
  8723.            Format ( 0, nFormat, .T. )
  8724.          Else
  8725.            Warning ( "Unknown format" )
  8726.          EndIf
  8727.  
  8728. See Also: "Format()" 
  8729.  
  8730.  
  8731.     ChooseColor()
  8732.  
  8733.          Allows color choice
  8734.  
  8735.     Syntax:
  8736.  
  8737.          ChooseColor( [nRow], [nCol], [lShowColor] ) -> NIL
  8738.  
  8739.          nRow       : Row of window, by default 3.
  8740.          nCol       : Column of window, by default 28.
  8741.          lShowColor : A logic value indicating if the color in string
  8742.                       format must be showed during selection. By default
  8743.                       is false, .F.
  8744.  
  8745.     Description:
  8746.  
  8747.          Allows to user to choose a color.
  8748.  
  8749.  
  8750.                                  - Page 146 -
  8751. Norton Guide: `FAST.lib 3.50 » Reference'
  8752.  
  8753.  
  8754.     Return:
  8755.  
  8756.          The color in string format or NIL if Esc has been pressed.
  8757.  
  8758.     Example:
  8759.  
  8760.          ? "Selected Color is " + ChooseColor( 3, 28, .T. )
  8761.  
  8762.  
  8763.     Chrono()
  8764.  
  8765.          Gets/Sets 3 programable chronos
  8766.  
  8767.     Syntax:
  8768.  
  8769.          Chrono( nChrono [, lLoad] ) -> nTime
  8770.  
  8771.          nChrono : Chrono number ( 1 2 3 )
  8772.          lLoad   : A logic indicating if we want to load the chrono with
  8773.                    the actual time. Default value is .F.
  8774.  
  8775.     Description:
  8776.  
  8777.          Gets/Sets 3 internal chronos. Each of them come be programmed
  8778.          separately.
  8779.  
  8780.     Return:
  8781.  
  8782.          The interval between actual time and the time when the chrono was
  8783.          programmed.
  8784.  
  8785.     Example:
  8786.  
  8787.          Chrono( 1, .T. )       // Chrono 1 with actual time
  8788.          Delay( 10 )            // Delay, 10 seconds
  8789.          ? Chrono( 1 )          // 10
  8790.  
  8791.  
  8792.     Clock()
  8793.  
  8794.          Un/Installs a resident clock
  8795.  
  8796.     Syntax:
  8797.  
  8798.          Clock( [lActive], [nPosY], [nPosX], [cColor] ) -> lIsActive
  8799.  
  8800.          lActive : A logic value indicating if we want to activate (.T.) or
  8801.                    deactivate (.F.) the watch.
  8802.                    If parameter is NIL, Clock() returns the actual mode.
  8803.          nPosY   : Row position. By default 0.
  8804.          nPosX   : Column position. By default 70.
  8805.          cColor  : Clock color. By default "GR+/B"
  8806.  
  8807.     Description:
  8808.  
  8809.  
  8810.                                  - Page 147 -
  8811. Norton Guide: `FAST.lib 3.50 » Reference'
  8812.  
  8813.  
  8814.          Shows a watch without the programmer action.
  8815.  
  8816.     Return:
  8817.  
  8818.          The actual watch mode. .T. active and .F. inactive.
  8819.  
  8820.     Example:
  8821.  
  8822.          Clock( .T., 0, 1, "W/B" )  // installs the clock on row 0, column 1
  8823.                                     // color "W/B"
  8824.          Inkey( 0 )
  8825.          Clock( .F. )
  8826.  
  8827. See Also: "BigClock()" 
  8828.  
  8829.  
  8830.     DirTree()
  8831.  
  8832.          Create an array with structure of a disk
  8833.  
  8834.     Syntax:
  8835.  
  8836.          DirTree( cMask, cDir ) -> aArray
  8837.  
  8838.          cMask : Format the directories must fulfill to be searched.
  8839.          cDir  : Beginning directory.
  8840.  
  8841.     Description:
  8842.  
  8843.          Returns an array with specified directories order from father to
  8844.          child.
  8845.  
  8846.     Return:
  8847.  
  8848.          An array with directories.
  8849.  
  8850.     Example:
  8851.  
  8852.          Window ( 4, 0, 22, 29, "Directory C:\", "╔═╗║╝═╚║ ", .T. )
  8853.          aChoice ( 5, 2, 21, 27, DirTree ( "\*.*", "C:\" ), .T. )
  8854.  
  8855.  
  8856.     Editor()
  8857.  
  8858.          Edits a text file
  8859.  
  8860.     Syntax:
  8861.  
  8862.          Editor ( [cFile], [cColor] ) -> NIL
  8863.  
  8864.          cFile  : File to edit.
  8865.          cColor : Editor color.
  8866.  
  8867.     Description:
  8868.  
  8869.  
  8870.                                  - Page 148 -
  8871. Norton Guide: `FAST.lib 3.50 » Reference'
  8872.  
  8873.  
  8874.          Execute an ascii editor with files not larger than 64 kb.
  8875.  
  8876.     Return:
  8877.  
  8878.          Nothing.
  8879.  
  8880.     Example:
  8881.  
  8882.          Editor ( "Fast.Ini", "W/B" )
  8883.  
  8884. See Also: "Notes()" 
  8885.  
  8886.  
  8887.     FastMemo()
  8888.  
  8889.          Edits a memo value
  8890.  
  8891.     Syntax:
  8892.  
  8893.          FastMemo( nY1, nX1, nY2, nX2, cMemo, [cTitle], [cColBro], ;
  8894.                    [lShadow], [lWrite] ) -> cNewMemo
  8895.  
  8896.          nY1     : Upper left Y coordinate
  8897.          nX1     : Upper left X coordinate
  8898.          nY2     : Lower right Y coordinate
  8899.          nX2     : Lower right X coordinate
  8900.          cMemo   : Memo to edit
  8901.          ctitle  : Window title
  8902.          cColBro : Window color
  8903.          lShadow : A logic value to indicate shadowing
  8904.          lWrite  : A logic value indicating if memo is read/only
  8905.  
  8906.     Description:
  8907.  
  8908.          Edit a Clipper memo field.
  8909.  
  8910.     Return:
  8911.  
  8912.          A new memo value.
  8913.  
  8914.     Example:
  8915.  
  8916.          Local cMemo := "Hello"
  8917.          ? FastMemo( 10, 10, 20, 55, cMemo, "MemoTest", "GR+/B", .T., .T. )
  8918.  
  8919.  
  8920.     FontEdit()
  8921.  
  8922.          Edits character fonts
  8923.  
  8924.     Syntax:
  8925.  
  8926.          FontEdit( [ cFile ] ) -> NIL
  8927.  
  8928.          cFile : The filename with the font
  8929.  
  8930.                                  - Page 149 -
  8931. Norton Guide: `FAST.lib 3.50 » Reference'
  8932.  
  8933.  
  8934.  
  8935.     Description:
  8936.  
  8937.          Edit character fonts from Clipper.
  8938.  
  8939.     Return:
  8940.  
  8941.          Nothing.
  8942.  
  8943.     Example:
  8944.  
  8945.          FontEdit( "cubo.fon" )
  8946.  
  8947.  
  8948.     Format()
  8949.  
  8950.          Formats a floppy
  8951.  
  8952.     Syntax:
  8953.  
  8954.          Format ( nDisk, nFormat, lQuick ) -> nError
  8955.  
  8956.          nDisk   : Disk unit to format. A:=0, B:=1.
  8957.          nFormat : Format. 360=1, 720=2, 1.2=3, 1.44=4
  8958.          lQuick  : A logical value indicating if you want QuickFormat or not.
  8959.  
  8960.     Description:
  8961.  
  8962.          Formats a floppy disk with a specified format.
  8963.  
  8964.     Return:
  8965.  
  8966.          -2 Bad parameters
  8967.          -1 Format error
  8968.           0 Ok
  8969.  
  8970.     Example:
  8971.  
  8972.          nFormat := ChkDsk ( 0 )
  8973.          If nFormat > 0
  8974.            Format ( 0, nFormat, .T. )
  8975.          Else
  8976.            Warning ( "Unknown format" )
  8977.          EndIf
  8978.  
  8979. See Also: "ChkDsk()" 
  8980.  
  8981.  
  8982.     GaugeNew()
  8983.  
  8984.          Creates and inits a status bar
  8985.  
  8986.     Syntax:
  8987.  
  8988.          GaugeNew( nRow, cMessage, cColor ) -> aBar
  8989.  
  8990.                                  - Page 150 -
  8991. Norton Guide: `FAST.lib 3.50 » Reference'
  8992.  
  8993.  
  8994.  
  8995.          nRow     : Row position
  8996.          cMessage : Message to display
  8997.          cColor   : Window color
  8998.  
  8999.     Description:
  9000.  
  9001.          Creates and inits a status bar returning an array structure with
  9002.          bar information to GaugeUpdate().
  9003.  
  9004.     Return:
  9005.  
  9006.          An array structure.
  9007.  
  9008.     Example:
  9009.  
  9010.          aGauge := GaugeNew( 9, "Fast Library Installation progress", "G" )
  9011.  
  9012. See Also: "GaugeUpdate()" 
  9013.  
  9014.  
  9015.     GaugeUpdate()
  9016.  
  9017.          Increases a status bar
  9018.  
  9019.     Syntax:
  9020.  
  9021.          GaugeUpdate( aBar, nInc ) -> NIL
  9022.  
  9023.          aBar : An array with bar information
  9024.          nInc : Increment 0-1
  9025.  
  9026.     Description:
  9027.  
  9028.          Increases a status bar that has been created with GaugeNew().
  9029.  
  9030.     Return:
  9031.  
  9032.          Nothing.
  9033.  
  9034.     Example:
  9035.  
  9036.          aGauge := GaugeNew( 9, "Fast Library Installation", "G" )
  9037.          GaugeUpdate( aGauge, 0.5 )
  9038.          GaugeUpdate( aGauge, 0.5 )
  9039.  
  9040. See Also: "GaugeNew()" 
  9041.  
  9042.  
  9043.     InspectDBF()
  9044.  
  9045.          Inspects the active workareas
  9046.  
  9047.     Syntax:
  9048.  
  9049.  
  9050.                                  - Page 151 -
  9051. Norton Guide: `FAST.lib 3.50 » Reference'
  9052.  
  9053.  
  9054.          InspectDBF() -> NIL
  9055.  
  9056.     Description:
  9057.  
  9058.          This function inspects the active workareas giving information
  9059.          about its.
  9060.  
  9061.     Return:
  9062.  
  9063.          Nothing.
  9064.  
  9065.     Example:
  9066.  
  9067.          InspectDBF()
  9068.  
  9069. See Also: "InspectOBJ()" "InspectSETS()" 
  9070.  
  9071.  
  9072.     InspectOBJ()
  9073.  
  9074.          Inspects an array or object
  9075.  
  9076.     Syntax:
  9077.  
  9078.          InspectOBJ( cVarName, xVar ) -> NIL
  9079.  
  9080.          cVarName : The name of memory variable
  9081.          xVar     : The var to inspect
  9082.  
  9083.     Description:
  9084.  
  9085.          This function inspects an array or object and allows to change it.
  9086.  
  9087.     Return:
  9088.  
  9089.          Nothing.
  9090.  
  9091.     Example:
  9092.  
  9093.          aArray := { "Hello", 12, { "First", "Second" }, { || NIL } }
  9094.          InspectOBJ( "aArray", aArray )
  9095.  
  9096. See Also: "InspectDBF()" "InspectSETS()" 
  9097.  
  9098.  
  9099.     InspectSETS()
  9100.  
  9101.          Inspects the SETS
  9102.  
  9103.     Syntax:
  9104.  
  9105.          InspectSETS() -> NIL
  9106.  
  9107.     Description:
  9108.  
  9109.  
  9110.                                  - Page 152 -
  9111. Norton Guide: `FAST.lib 3.50 » Reference'
  9112.  
  9113.  
  9114.          This function inspects the sets and allows to change its.
  9115.  
  9116.     Return:
  9117.  
  9118.          Nothing.
  9119.  
  9120.     Example:
  9121.  
  9122.          InspectSETS()
  9123.  
  9124. See Also: "InspectDBF()" "InspectOBJ()" 
  9125.  
  9126.  
  9127.     IsFastGT()
  9128.  
  9129.          Determines if FAST.GT is linked
  9130.  
  9131.     Syntax:
  9132.  
  9133.          IsFastGT() -> lLinked
  9134.  
  9135.     Description:
  9136.  
  9137.          Determines if FAST.GT is linked.
  9138.          FAST.GT is a FAST.* software that allows Clipper standard
  9139.          programs running in graphic mode without additional changes to
  9140.          the source code.
  9141.  
  9142.     Return:
  9143.  
  9144.          A logic value.
  9145.  
  9146.     Example:
  9147.  
  9148.          If IsFastGT()
  9149.            ? "Oh!!! we are in graphic mode"
  9150.          EndIf
  9151.  
  9152.  
  9153.     IsPirate()
  9154.  
  9155.          Determines if the program is a pirated copy
  9156.  
  9157.     Syntax:
  9158.  
  9159.          IsPirate() -> lIsPirate
  9160.  
  9161.     Description:
  9162.  
  9163.          This function determines if the program in execution is a pirated
  9164.          copy.  The first time you run the program it will be automarked.
  9165.          In this way, you can check this mark on next executions.
  9166.          If you execute the program in another system, IsPirate() will
  9167.          return .T., otherwise it will return .F.
  9168.  
  9169.  
  9170.                                  - Page 153 -
  9171. Norton Guide: `FAST.lib 3.50 » Reference'
  9172.  
  9173.  
  9174.     Return:
  9175.  
  9176.          A logic value indicating if the program in execution is a pirate
  9177.          copy.
  9178.  
  9179.     Example:
  9180.  
  9181.          If IsPirate()
  9182.            ? "Don't forget to register"
  9183.            Quit
  9184.          EndIf
  9185.  
  9186.  
  9187.     IsSound()
  9188.  
  9189.          Determines if speaker sounds are allowed
  9190.  
  9191.     Syntax:
  9192.  
  9193.          IsSound( [lMode] ) -> lOldMode
  9194.  
  9195.          lMode : A logic to indicate the new value.
  9196.  
  9197.     Description:
  9198.  
  9199.          This function determines if speaker sounds are allowed when
  9200.          a function of Fast Library is running.
  9201.  
  9202.     Return:
  9203.  
  9204.          Actual mode.
  9205.  
  9206.     Example:
  9207.  
  9208.          lSound := IsSound( .F. )
  9209.          Serpent()                      // without sound
  9210.          IsSound( lSound )
  9211.  
  9212.  
  9213.     Manager()
  9214.  
  9215.          A little PCTools in Clipper
  9216.  
  9217.     Syntax:
  9218.  
  9219.          Manager ( [cColor], [cColorHigh] ) -> NIL
  9220.  
  9221.          cColor     : File Manager color.
  9222.          cColorHigh : Buttons of dialog boxes color.
  9223.  
  9224.     Description:
  9225.  
  9226.          Runs a little File Manager as PCTools.
  9227.  
  9228.     Return:
  9229.  
  9230.                                  - Page 154 -
  9231. Norton Guide: `FAST.lib 3.50 » Reference'
  9232.  
  9233.  
  9234.  
  9235.          Nothing.
  9236.  
  9237.     Example:
  9238.  
  9239.          Manager ( "N/W,N/BG", "N/BG" )
  9240.  
  9241.  
  9242.     MiniDebug()
  9243.  
  9244.          Evaluate Clipper expressions
  9245.  
  9246.     Syntax:
  9247.  
  9248.          MiniDebug( nY, cExpr ) -> NIL
  9249.  
  9250.          nY    : Row of debugger
  9251.          cExpr : Initial expression
  9252.  
  9253.     Description:
  9254.  
  9255.          Evaluate valid Clipper expressions.
  9256.  
  9257.     Return:
  9258.  
  9259.          Nothing.
  9260.  
  9261.     Example:
  9262.  
  9263.          MiniDebug( 7, "Replicate( 'Fast ', 2 )" )
  9264.  
  9265.  
  9266.     MsgScroll()
  9267.  
  9268.          Shows a message with horizontal scroll
  9269.  
  9270.     Syntax:
  9271.  
  9272.          MsgScroll( nRow, nCol, nSize, cString, cColor ) -> NIL
  9273.  
  9274.          nRow    : Row position
  9275.          nCol    : Column position
  9276.          nSize   : Horizontal size
  9277.          cString : Message to show
  9278.          cColor  : Message color
  9279.  
  9280.     Description:
  9281.  
  9282.          Shows a message with horizontal scroll until you press any key.
  9283.  
  9284.     Return:
  9285.  
  9286.          Nothing.
  9287.  
  9288.     Example:
  9289.  
  9290.                                  - Page 155 -
  9291. Norton Guide: `FAST.lib 3.50 » Reference'
  9292.  
  9293.  
  9294.  
  9295.          MsgScroll( 10, 12, 20, "Press any key to continue", "GR+/B" )
  9296.  
  9297.  
  9298.     Notes()
  9299.  
  9300.          Makes your calculations in a Lotus123 style
  9301.  
  9302.     Syntax:
  9303.  
  9304.          Notes ( [cColor], [cColorBrowse], [cFile] ) -> NIL
  9305.  
  9306.          cColor       : Spreadsheet color
  9307.          cColorBrowse : The template of colors for the browse.
  9308.          cFile        : HC file with Spreadsheet
  9309.  
  9310.     Description:
  9311.  
  9312.          With this function you can access a spreadsheet.
  9313.  
  9314.     Return:
  9315.  
  9316.          Nothing.
  9317.  
  9318.     Example:
  9319.  
  9320.          Notes( "W/B,N/BG", "W/B,N/BG,G/B,W/B,R+/B", "example1.hc" )
  9321.  
  9322. See Also: "Editor()" 
  9323.  
  9324.  
  9325.     RealStars()
  9326.  
  9327.          Shows a star field simalator
  9328.  
  9329.     Syntax:
  9330.  
  9331.          RealStars( nSpeed ) -> NIL
  9332.  
  9333.          nSpeed : the speed of the stars. Range 1-10. Default value is 3.
  9334.  
  9335.     Description:
  9336.  
  9337.          Sets the screen to black and starts showing stars in different
  9338.          colors and sizes. Waits until a key is pressed to restore the
  9339.          old values.
  9340.  
  9341.     Return:
  9342.  
  9343.          Nothing.
  9344.  
  9345.     Example:
  9346.  
  9347.          RealStars()
  9348.  
  9349.  
  9350.                                  - Page 156 -
  9351. Norton Guide: `FAST.lib 3.50 » Reference'
  9352.  
  9353.  
  9354. See Also: "Stars()" "ScreenSaver()" 
  9355.  
  9356.  
  9357.     Restore()
  9358.  
  9359.          Restores a backup
  9360.  
  9361.     Syntax:
  9362.  
  9363.          Restore( [cUnit], aDirec, cColor ) -> lExit
  9364.  
  9365.          cUnit  : Backup unit
  9366.          aDirec : Directory array to restore
  9367.          cColor : Window color
  9368.  
  9369.     Description:
  9370.  
  9371.          Restores from cUnit all files whose names are contained in one of
  9372.          the elements of the array.
  9373.  
  9374.          WARNING!!
  9375.          This function makes a dbCloseAll()
  9376.  
  9377.     Return:
  9378.  
  9379.          A logic value indicating the result.
  9380.  
  9381.     Example:
  9382.  
  9383.          Restore ( "A:\", { "C:\DOS" }, "N/W,N/W" )
  9384.  
  9385. See Also: "Backup()" 
  9386.  
  9387.  
  9388.     ScreenSaver()
  9389.  
  9390.          Shows a screen saver
  9391.  
  9392.     Syntax:
  9393.  
  9394.          ScreenSaver( cColor [, cMessage] ) -> NIL
  9395.  
  9396.          cColor   : Message color
  9397.          cMessage : Message to display
  9398.  
  9399.     Description:
  9400.  
  9401.          Your monitor will thank you for ever.
  9402.  
  9403.     Return:
  9404.  
  9405.          Nothing.
  9406.  
  9407.     Example:
  9408.  
  9409.  
  9410.                                  - Page 157 -
  9411. Norton Guide: `FAST.lib 3.50 » Reference'
  9412.  
  9413.  
  9414.          ScreenSaver( "BG+/N", "Fast Library For Clipper ScreenSaver" )
  9415.  
  9416. See Also: "Stars()" 
  9417.  
  9418.  
  9419.     Stars()
  9420.  
  9421.          Shows a screen saver
  9422.  
  9423.     Syntax:
  9424.  
  9425.          Stars() -> NIL
  9426.  
  9427.     Description:
  9428.  
  9429.          Sets the screen to black  and starts showing stars in different
  9430.          colors and sizes. Waits until a key is pressed to restore the
  9431.          old values.
  9432.  
  9433.     Return:
  9434.  
  9435.          Nothing.
  9436.  
  9437.     Example:
  9438.  
  9439.          Stars ()
  9440.  
  9441. See Also: "RealStars()" "ScreenSaver()" 
  9442.  
  9443.  
  9444.     VirCheck()
  9445.  
  9446.          Checks the memory for 100+ viruses
  9447.  
  9448.     Syntax:
  9449.  
  9450.          VirCheck() -> aVirus
  9451.  
  9452.     Description:
  9453.  
  9454.          Checks the memory for 100+ viruses.
  9455.          VirCheck finds the next viruses:
  9456.  
  9457.               shake                          invader
  9458.               mg                             669 / thirteen minutes
  9459.               1063 / mono                    plastique / anticad
  9460.               jabberwocky                    horse-2
  9461.               murphy-2                       patricia / smack
  9462.               plastique2576 / anticad 2576   horse
  9463.               sparse                         murphy-1 / murphy-4
  9464.               shirley                        zherkov-1882
  9465.               1876 / dash-em                 nomenklatura
  9466.               948 / screenplus1              magnitogorsk
  9467.               lozinsky / zherkov             hitchcock
  9468.               dark avenger-1028              1193 / copyright
  9469.  
  9470.                                  - Page 158 -
  9471. Norton Guide: `FAST.lib 3.50 » Reference'
  9472.  
  9473.  
  9474.               ussr-707                       justice
  9475.               europe-92                      cascade
  9476.               516 / leapfrog                 1067 / headcrash
  9477.               rape-747                       klaeren / hate
  9478.               growing block                  squeaker
  9479.               SVC                            SVC 5.0 or SVC 6.0
  9480.               vriest                         carioca
  9481.               789 / filehider                eddie-2
  9482.               blinker                        backtime
  9483.               600 or voronezh family         hey you
  9484.               datalock                       ussr-1049
  9485.               slow / zerotime                solano
  9486.               905 / backfont                 sverdlov
  9487.               socha                          yankee or mlti
  9488.               mh-757                         milous
  9489.               vitcode                        westwood
  9490.               fellowship                     diamond-a
  9491.               diamond-b                      dir
  9492.               gotcha                         plovdiv 1.3
  9493.               durban                         brothers
  9494.               jerusalem family               armagedon
  9495.               8-tunes                        mendoza
  9496.               fu manchu                      anarkia
  9497.               spyer / kiev                   terror
  9498.               jerusalem-g                    pregnant
  9499.               frere jacques                  tremor
  9500.               pcvrsds                        carfield
  9501.               gp1                            cinderella
  9502.               dbase                          troi
  9503.               border                         483
  9504.               flip                           2468 / tequila
  9505.               black monday                   sunday
  9506.               tumen 0.5 / hero               twins
  9507.               08/15 / many fingers           ontario
  9508.               year 1992 / b1m92              revenge
  9509.  
  9510.          VirCheck() only checks the memory and no disks or files.
  9511.  
  9512.     Return:
  9513.  
  9514.          An array with an element for each virus. This elemento is .F. if
  9515.          the virus is not active in memory or .T. if the virus is active.
  9516.  
  9517.     Example:
  9518.  
  9519.          FUNCTION Demo()
  9520.          LOCAL lVirus := .F.
  9521.          LOCAL aArray
  9522.          LOCAL nInd
  9523.          LOCAL aName  := { ;
  9524.               "shake",                          "invader", ;
  9525.               "mg",                             "669 / thirteen minutes", ;
  9526.               "1063 / mono",                    "plastique / anticad", ;
  9527.               "jabberwocky",                    "horse-2", ;
  9528.               "murphy-2",                       "patricia / smack", ;
  9529.  
  9530.                                  - Page 159 -
  9531. Norton Guide: `FAST.lib 3.50 » Reference'
  9532.  
  9533.  
  9534.               "plastique2576 / anticad 2576",   "horse", ;
  9535.               "sparse",                         "murphy-1 / murphy-4", ;
  9536.               "shirley",                        "zherkov-1882", ;
  9537.               "1876 / dash-em",                 "nomenklatura", ;
  9538.               "948 / screenplus1",              "magnitogorsk", ;
  9539.               "lozinsky / zherkov",             "hitchcock", ;
  9540.               "dark avenger-1028",              "1193 / copyright", ;
  9541.               "ussr-707",                       "justice", ;
  9542.               "europe-92",                      "cascade", ;
  9543.               "516 / leapfrog",                 "1067 / headcrash", ;
  9544.               "rape-747",                       "klaeren / hate", ;
  9545.               "growing block",                  "squeaker", ;
  9546.               "SVC",                            "SVC 5.0 or SVC 6.0", ;
  9547.               "vriest",                         "carioca", ;
  9548.               "789 / filehider",                "eddie-2", ;
  9549.               "blinker",                        "backtime", ;
  9550.               "600 or voronezh family",         "hey you", ;
  9551.               "datalock",                       "ussr-1049", ;
  9552.               "slow / zerotime",                "solano", ;
  9553.               "905 / backfont",                 "sverdlov", ;
  9554.               "socha",                          "yankee or mlti", ;
  9555.               "mh-757",                         "milous", ;
  9556.               "vitcode",                        "westwood", ;
  9557.               "fellowship",                     "diamond-a", ;
  9558.               "diamond-b",                      "dir", ;
  9559.               "gotcha",                         "plovdiv 1.3", ;
  9560.               "durban",                         "brothers", ;
  9561.               "jerusalem family",               "armagedon", ;
  9562.               "8-tunes",                        "mendoza", ;
  9563.               "fu manchu",                      "anarkia", ;
  9564.               "spyer / kiev",                   "terror", ;
  9565.               "jerusalem-g",                    "pregnant", ;
  9566.               "frere jacques",                  "tremor", ;
  9567.               "pcvrsds",                        "carfield", ;
  9568.               "gp1",                            "cinderella", ;
  9569.               "dbase",                          "troi", ;
  9570.               "border",                         "483", ;
  9571.               "flip",                           "2468 / tequila", ;
  9572.               "black monday",                   "sunday", ;
  9573.               "tumen 0.5 / hero",               "twins", ;
  9574.               "08/15 / many fingers",           "ontario", ;
  9575.               "year 1992 / b1m92",              "revenge" ;
  9576.               }
  9577.  
  9578.          ? "Welcome to FAST.lib SCAN-VIR TOOL demo"
  9579.          ? "FAST.lib detects 100+ viruses as jerusalem, flip, dbase..."
  9580.          ?
  9581.          ? "Press any key to continue..."
  9582.          Inkey( 0 )
  9583.  
  9584.          ? "Checking memory for viruses..."
  9585.          aArray := VirCheck()
  9586.  
  9587.          ?
  9588.          ? "Checking memory report..."
  9589.  
  9590.                                  - Page 160 -
  9591. Norton Guide: `FAST.lib 3.50 » Reference'
  9592.  
  9593.  
  9594.          aEval( aArray, { | lX | IIF( lX, lVirus := .T., ) } )
  9595.  
  9596.          ?
  9597.          IF lVirus
  9598.            ? "DANGER!!! Viruses found"
  9599.            FOR nInd := 1 TO LEN( aArray )
  9600.              IF aArray[ nInd ]
  9601.                ? "Viruses " + aName[ nInd ] + " detected in memory"
  9602.                Tone( 500, 10 )
  9603.              ENDIF
  9604.            NEXT
  9605.          ELSE
  9606.            ? "Viruses not found"
  9607.          ENDIF
  9608.          ?
  9609.          RETURN NIL
  9610.  
  9611.  
  9612.  
  9613.  
  9614.  
  9615.  
  9616.  
  9617.  
  9618.  
  9619.  
  9620.  
  9621.  
  9622.  
  9623.  
  9624.  
  9625.  
  9626.  
  9627.  
  9628.  
  9629.  
  9630.  
  9631.  
  9632.  
  9633.  
  9634.  
  9635.  
  9636.  
  9637.  
  9638.  
  9639.  
  9640.  
  9641.  
  9642.  
  9643.  
  9644.  
  9645.  
  9646.  
  9647.  
  9648.  
  9649.                                  - Page 161 -
  9650. Norton Guide: `FAST.lib 3.50 » Reference'
  9651.  
  9652.  
  9653. Menu List: FAST.lib 2, Menus
  9654.  
  9655.  
  9656.  
  9657.  
  9658.     With these functions, you will be able to create simple event-driven
  9659.  pop-up menus. Making and using them is easy.
  9660.  
  9661.     The entire menuing system is based on arrays; this way, you can add or
  9662.  delete items and divider lines in each menu. When you add an item, it is
  9663.  initially selectable. Later, the attribute of selections can be logically
  9664.  set. When a divider line is added, it is automatically non-selectable
  9665.  and will remain so.
  9666.  
  9667.  ──────────────────────────────────────────────────────────────────────────────
  9668.  
  9669.  
  9670.     AddItem()
  9671.  
  9672.          Adds a selectable item to a submenu
  9673.  
  9674.     Syntax:
  9675.  
  9676.          AddItem( aMenu, nSubMenu, cItem, [cMess], [nPos], [aSub] ) -> NIL
  9677.  
  9678.          aMenu    : The menu created with NewMenu()
  9679.          nSubMenu : The number of the submenu to which the item
  9680.                     is to be added
  9681.          cItem    : The item to add to the submenu
  9682.          cMess    : The message text for the item
  9683.          nPos     : The position of the item in the submenu;
  9684.                     last position if not specified
  9685.          aSub     : An array of the submenu options
  9686.  
  9687.     Description:
  9688.  
  9689.          Adds an item to a submenu, activating the item as selectable.
  9690.  
  9691.     Return:
  9692.  
  9693.          NIL.
  9694.  
  9695.     Example:
  9696.  
  9697.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9698.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9699.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9700.          AddItem ( aMenu, 1, "Item ^1", "Message", , { "Sub1", "Sub2" } )
  9701.  
  9702. See Also: "AddLine()" "DelItem()" 
  9703.  
  9704.  
  9705.     AddLine()
  9706.  
  9707.           Adds a divider line to a submenu as a non-selectable item
  9708.  
  9709.                                  - Page 162 -
  9710. Norton Guide: `FAST.lib 3.50 » Reference'
  9711.  
  9712.  
  9713.  
  9714.     Syntax:
  9715.  
  9716.          AddLine( aMenu, nSubMenu [, nPos] ) -> NIL
  9717.  
  9718.          aMenu    : The menu created with NewMenu()
  9719.          nSubMenu : The number of the submenu to which the
  9720.                     divider line is to be added
  9721.          nPos     : The position of the divider line in the submenu;
  9722.                     last position if not specified
  9723.  
  9724.     Description:
  9725.  
  9726.          Adds a divider line to a submenu, setting it as non-selectable.
  9727.  
  9728.     Return:
  9729.  
  9730.          NIL.
  9731.  
  9732.     Example:
  9733.  
  9734.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9735.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9736.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9737.          AddItem ( aMenu, 1, "Item ^1", "Message 1" )
  9738.          AddItem ( aMenu, 1, "Item ^2", "Message 2" )
  9739.  
  9740.          AddLine ( aMenu, 1, 2 )  // add a line between two items.
  9741.  
  9742. See Also: "AddItem()" "DelItem()" 
  9743.  
  9744.  
  9745.     DelLine()
  9746.  
  9747.          Deletes an item from a Submenu
  9748.  
  9749.     Syntax:
  9750.  
  9751.          DelLine( aMenu, nSubMenu, nPos ) -> NIL
  9752.  
  9753.          aMenu    : The menu created with NewMenu()
  9754.          nSubMenu : The number of the submenu from which
  9755.                     the item is to be deleted
  9756.          nPos     : The position in the submenu of the item to be deleted
  9757.  
  9758.     Description:
  9759.  
  9760.          Deletes an item or a divider line from a submenu and resizes
  9761.          the submenu array.
  9762.  
  9763.     Return:
  9764.  
  9765.          NIL.
  9766.  
  9767.     Example:
  9768.  
  9769.                                  - Page 163 -
  9770. Norton Guide: `FAST.lib 3.50 » Reference'
  9771.  
  9772.  
  9773.  
  9774.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9775.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9776.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9777.          AddItem ( aMenu, 1, "Item ^1", "Message 1" )
  9778.          AddItem ( aMenu, 1, "Item ^2", "Message 2" )
  9779.  
  9780.          DelLine ( aMenu, 1, 2 )  // Delete the second item
  9781.  
  9782. See Also: "AddItem()" "AddLine()" 
  9783.  
  9784.  
  9785. DispMenu()
  9786.  
  9787.          Activates a menu that has been previously created
  9788.  
  9789.     Syntax:
  9790.  
  9791.          DispMenu( aMenu [, nInit] ) -> nOption
  9792.  
  9793.          aMenu : An array defining the structure of the menu that was
  9794.                  created previously with NewMenu().
  9795.          nInit : An optional numeric value indicating the number of the item
  9796.                  to be highlighted when the menu is first displayed
  9797.  
  9798.     Description:
  9799.  
  9800.          Activates a menu and processes all navigation keys, returning
  9801.          a value computed as:
  9802.  
  9803.             nOption := ;
  9804.                ( Menu_Num * 10000 ) + ( Opt_Num * 100 ) + SubMenu Option
  9805.  
  9806.          Note that multiple menus can be created and later activated
  9807.          as needed; this can be very useful for maintaining menus in
  9808.          a variety of languages.
  9809.  
  9810.          The associated message text for each item will be displayed on
  9811.          the screen row specified by SET MESSAGE TO <nRow>.
  9812.  
  9813.     Return:
  9814.  
  9815.          A numeric value indicating the selected option,
  9816.          or 0 if Esc is pressed.
  9817.  
  9818.     Example:
  9819.  
  9820.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9821.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9822.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9823.  
  9824.          AddItem ( aMenu, 1, "Item ^1-1", "Message" )
  9825.          AddItem ( aMenu, 1, "Item ^2-1", "Message" )
  9826.          AddItem ( aMenu, 2, "Item ^1-2", "Message" )
  9827.          AddItem ( aMenu, 2, "Item ^2-2", "Message" )
  9828.  
  9829.                                  - Page 164 -
  9830. Norton Guide: `FAST.lib 3.50 » Reference'
  9831.  
  9832.  
  9833.          AddItem ( aMenu, 3, "Item ^1-3", "Message" )
  9834.  
  9835.          nOpt := DispMenu ( aMenu, 3 )
  9836.  
  9837.          Do Case
  9838.            Case nOpt == 101             // Menu 1, option 1
  9839.              ...
  9840.            Case nOpt == 102             // Menu 1, option 2
  9841.              ...
  9842.          EndCase
  9843.  
  9844. See Also: "NewMenu()" 
  9845.  
  9846.  
  9847.     OffItem()
  9848.  
  9849.          Deactivates one item of a submenu
  9850.  
  9851.     Syntax:
  9852.  
  9853.          OffItem( aMenu, nSubMenu, nPos ) -> NIL
  9854.  
  9855.          aMenu    : The menu created with NewMenu()
  9856.          nSubMenu : The number of the submenu in which to deactivate the item
  9857.          nPos     : The position of the item in the submenu
  9858.  
  9859.     Description:
  9860.  
  9861.          Deactivates an item so that it cannot be selected or
  9862.          seen in the menu.
  9863.  
  9864.     Return:
  9865.  
  9866.          NIL.
  9867.  
  9868.     Example:
  9869.  
  9870.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9871.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9872.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9873.          AddItem ( aMenu, 1, "Item ^1", "Message 1" )
  9874.          AddItem ( aMenu, 1, "Item ^2", "Message 2" )
  9875.  
  9876.          OffItem ( aMenu, 1, 2 )  // Deactivates the second item.
  9877.  
  9878. See Also: "OnItem()" 
  9879.  
  9880.  
  9881.     OnItem()
  9882.  
  9883.          Reactivates an item of a submenu
  9884.  
  9885.     Syntax:
  9886.  
  9887.          OnItem( aMenu, nSubMenu, nPos ) -> NIL
  9888.  
  9889.                                  - Page 165 -
  9890. Norton Guide: `FAST.lib 3.50 » Reference'
  9891.  
  9892.  
  9893.  
  9894.          aMenu    : The menu created with NewMenu()
  9895.          nSubMenu : The number of the submenu in which to reactivate the item
  9896.          nPos     : The position of the item in the submenu
  9897.  
  9898.     Description:
  9899.  
  9900.          Reactivates a menu item, making it selectable again.
  9901.          A divider line cannot be made selectable.
  9902.          Only an item previously deactivated can be reactivated.
  9903.  
  9904.     Return:
  9905.  
  9906.          NIL.
  9907.  
  9908.     Example:
  9909.  
  9910.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9911.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9912.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9913.          AddItem ( aMenu, 1, "Item ^1", "Message 1" )
  9914.          AddItem ( aMenu, 1, "Item ^2", "Message 2" )
  9915.  
  9916.          OffItem ( aMenu, 1, 2 )  // Deactivate the second item
  9917.          OnItem ( aMenu, 1, 2 )   // Now reactivate it
  9918.  
  9919. See Also: "OffItem()" 
  9920.  
  9921.  
  9922.     NewMenu()
  9923.  
  9924.           Creates a new menu structure
  9925.  
  9926.     Syntax:
  9927.  
  9928.          NewMenu( aOptions, aColors, lShadow ) -> aMenu
  9929.  
  9930.          aOptions : A one-dimensional array with the structure:
  9931.  
  9932.                        { cOption1, cOption2, ..., cOptionN }
  9933.  
  9934.                     Each option may include the symbol "^" to indicate
  9935.                     that the character it precedes will be the one you could
  9936.                     use with the Alt key to select the option.
  9937.  
  9938.          aColors  : An array of 9 elements specifying the colors for:
  9939.  
  9940.                      - Non-selected options
  9941.                      - Special character of non-selected options
  9942.                      - Selected option
  9943.                      - Special character of selected option
  9944.                      - Items of the submenus
  9945.                      - Selected item of the submenus
  9946.                      - Non-selectable items of the submenus
  9947.                      - Special character of non-selected submenu items
  9948.  
  9949.                                  - Page 166 -
  9950. Norton Guide: `FAST.lib 3.50 » Reference'
  9951.  
  9952.  
  9953.                      - Special character of selected submenu items
  9954.  
  9955.          lShadow  : A logic value to indicate shadowing. Default .F.
  9956.  
  9957.     Description:
  9958.  
  9959.          Creates an array defining the structure of a menu and the
  9960.          colors in which to display menu options and submenu items
  9961.          for each of the conditions listed above for aColors.
  9962.  
  9963.     Return:
  9964.  
  9965.          An array defining the structure and colors of the newly created menu.
  9966.  
  9967.     Example:
  9968.  
  9969.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9970.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9971.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" }, ;
  9972.                            .T. )
  9973.  
  9974. See Also: "DispMenu()" 
  9975.  
  9976.  
  9977.     READ
  9978.  
  9979.           @ SAY..GET format for Radio Buttons
  9980.  
  9981.     Syntax:
  9982.  
  9983.          @ nRow, nCol [ SAY cSayText ]
  9984.                 GET cGetVar
  9985.                 [ WHEN lPrevalid ]
  9986.                 [ VALID lPostValid ]
  9987.                 [ COLOR cColor ]
  9988.                 WITH RADIOBUTTONS aOptions
  9989.                 [ NOBOX ]
  9990.                 [ DOUBLE ]
  9991.                 [ HORIZONTAL ]
  9992.  
  9993.  
  9994.     Description:
  9995.  
  9996.          Now you can create attractive radio buttons compliant with
  9997.          the CUA specifications by using an additional variant of
  9998.          the @ SAY..GET command and the standard CA-Clipper READ command.
  9999.          The new @ SAY..GET clause WITH RADIOBUTTONS specifies an
  10000.          array containing the radio button characteristics.
  10001.          If NOBOX is specified, the radio buttons will be displayed
  10002.          without an enclosing box.  If NOBOX is omitted, the radio
  10003.          buttons will be enclosed in either a single- or double-line
  10004.          box depending on whether or not DOUBLE is specified.  The
  10005.          radio buttons will be oriented horizontally if HORIZONTAL
  10006.          is specified, and vertically otherwise.
  10007.  
  10008.  
  10009.                                  - Page 167 -
  10010. Norton Guide: `FAST.lib 3.50 » Reference'
  10011.  
  10012.  
  10013.     Return:
  10014.  
  10015.          Not applicable.
  10016.  
  10017.     Example:
  10018.  
  10019.          @ 4,5  SAY "Get Normal 1:" GET cGet1
  10020.          @ 6,5  SAY "Clipper Lib"   GET nChoice1 ;
  10021.                 COLOR "R/B" ;
  10022.                 WITH RADIOBUTTONS { "1 Opc", "2 No buttons", "3 Opc" }
  10023.          @ 6,40 SAY "Fast Library"  GET nChoice2 WHEN nChoice1 != 2 ;
  10024.                 COLOR "W/N" ;
  10025.                 WITH RADIOBUTTONS { "1 Adios", "2 Agur", "3 Bye bye" }
  10026.          @ 7,60 GET nChoice3 ;
  10027.                 COLOR "GR+/B" ;
  10028.                 WITH RADIOBUTTONS { "1 Quick", "3 Simple", "4 Beautiful" } ;
  10029.                 NOBOX
  10030.          @ 12,5 SAY "Get Normal 2:" GET cGet2
  10031.          @ 17,5 SAY "Buttons 4:"    GET nChoice4 ;
  10032.                 COLOR "R+/W" ;
  10033.                 WITH RADIOBUTTONS { "1 Option", "2 Option", "3 Option" } ;
  10034.                 DOUBLE ;
  10035.                 HORIZONTAL
  10036.          READ
  10037.  
  10038.  
  10039.  
  10040.  
  10041.  
  10042.  
  10043.  
  10044.  
  10045.  
  10046.  
  10047.  
  10048.  
  10049.  
  10050.  
  10051.  
  10052.  
  10053.  
  10054.  
  10055.  
  10056.  
  10057.  
  10058.  
  10059.  
  10060.  
  10061.  
  10062.  
  10063.  
  10064.  
  10065.  
  10066.  
  10067.  
  10068.                                  - Page 168 -
  10069. Norton Guide: `FAST.lib 3.50 » Reference'
  10070.  
  10071.  
  10072. Menu List: FAST.lib 2, Mouse
  10073.  
  10074.  
  10075.  
  10076.  
  10077.     This section of the library will give complete access to the mouse in
  10078.   your Clipper applications.
  10079.  
  10080.  ──────────────────────────────────────────────────────────────────────────────
  10081.  
  10082.  
  10083.     rButtons()
  10084.  
  10085.          Returns number of buttons
  10086.  
  10087.     Syntax:
  10088.  
  10089.          rButtons() -> nButtons
  10090.  
  10091.     Description:
  10092.  
  10093.          Returns 2 if mouse is a Microsoft mouse or 3 if mouse is a
  10094.          Mouse Systems/Logitech mouse.
  10095.  
  10096.     Return:
  10097.  
  10098.          A numeric value indicating the number of buttons.
  10099.  
  10100.     Example:
  10101.  
  10102.          ? rButtons ()
  10103.  
  10104.  
  10105.     rCentre()
  10106.  
  10107.          Determines if the center button is pressed
  10108.  
  10109.     Syntax:
  10110.  
  10111.          rCentre() -> lPress
  10112.  
  10113.     Description:
  10114.  
  10115.          Determines if the center button is pressed returning a logic
  10116.          value.
  10117.  
  10118.     Return:
  10119.  
  10120.          A logic value indicating if is pressed or not.
  10121.  
  10122.     Example:
  10123.  
  10124.          If rCentre()
  10125.            Warning ( "Central button pressed" )
  10126.          EndIf
  10127.  
  10128.                                  - Page 169 -
  10129. Norton Guide: `FAST.lib 3.50 » Reference'
  10130.  
  10131.  
  10132.  
  10133. See Also: "rLeft()" "rRight()" 
  10134.  
  10135.  
  10136.     rCursorOff()
  10137.  
  10138.          Disables the mouse cursor display
  10139.  
  10140.     Syntax:
  10141.  
  10142.          rCursorOff() -> NIL
  10143.  
  10144.     Description:
  10145.  
  10146.          Hides the mouse cursor. Multiple calls to this function will require
  10147.          multiple calls to rCursorOn() to unhide it.
  10148.  
  10149.     Return:
  10150.  
  10151.          Nothing.
  10152.  
  10153.     Example:
  10154.  
  10155.          rCursorOff()
  10156.  
  10157. See Also: "rCursorOn()" 
  10158.  
  10159.  
  10160.     rCursorOn()
  10161.  
  10162.          Enables the mouse cursor display
  10163.  
  10164.     Syntax:
  10165.  
  10166.          rCursorOn() -> NIL
  10167.  
  10168.     Description:
  10169.  
  10170.          Shows the mouse cursor. Multiple calls to rCursorOff() will require
  10171.          multiple calls to this function to show it.
  10172.  
  10173.     Return:
  10174.  
  10175.          Nothing.
  10176.  
  10177.     Example:
  10178.  
  10179.          rCursorOn()
  10180.  
  10181. See Also: "rCursorOff()" 
  10182.  
  10183.  
  10184.     rClick()
  10185.  
  10186.          Returns the button press state
  10187.  
  10188.                                  - Page 170 -
  10189. Norton Guide: `FAST.lib 3.50 » Reference'
  10190.  
  10191.  
  10192.  
  10193.     Syntax:
  10194.  
  10195.          rClick() -> lPush
  10196.  
  10197.     Description:
  10198.  
  10199.          Determines if a mouse button is pressed returning a logic value.
  10200.  
  10201.     Return:
  10202.  
  10203.          A logic value indicating if is pressed or not.
  10204.  
  10205.     Example:
  10206.  
  10207.          If rClick()
  10208.            ? "Yes"
  10209.          EndIf
  10210.  
  10211. See Also: "rCentre()" "rRight()" "rLeft()" 
  10212.  
  10213.  
  10214.     rGetPosX()
  10215.  
  10216.          Returns the horizontal cursor coordinate
  10217.  
  10218.     Syntax:
  10219.  
  10220.          rGetPosX() -> nCoorX
  10221.  
  10222.     Description:
  10223.  
  10224.          Returns the mouse horizontal cursor coordinate.
  10225.  
  10226.     Return:
  10227.  
  10228.          A numeric value indicating the X position.
  10229.  
  10230.     Example:
  10231.  
  10232.          ? rGetPosX()
  10233.  
  10234. See Also: "rGetPosY()" 
  10235.  
  10236.  
  10237.     rGetPosY()
  10238.  
  10239.          Returns the vertical cursor coordinate
  10240.  
  10241.     Syntax:
  10242.  
  10243.          rGetPosY() -> nCoorY
  10244.  
  10245.     Description:
  10246.  
  10247.  
  10248.                                  - Page 171 -
  10249. Norton Guide: `FAST.lib 3.50 » Reference'
  10250.  
  10251.  
  10252.          Returns the mouse vertical cursor coordinate.
  10253.  
  10254.     Return:
  10255.  
  10256.          A numeric value indicating the Y position.
  10257.  
  10258.     Example:
  10259.  
  10260.          ? rGetPosY()
  10261.  
  10262. See Also: "rGetPosX()" 
  10263.  
  10264.  
  10265.     rHardCur()
  10266.  
  10267.          Defines the hardware text cursor
  10268.  
  10269.     Syntax:
  10270.  
  10271.          rHardCur() -> NIL
  10272.  
  10273.     Description:
  10274.  
  10275.          When the software cursor is selected, the char/attribute data at
  10276.          the current screen position is ANDed with the screen mask and
  10277.          then XORed with the cursor mask.
  10278.  
  10279.     Return:
  10280.  
  10281.          Nothing.
  10282.  
  10283.     Example:
  10284.  
  10285.          rHardCur()
  10286.  
  10287. See Also: "rSoftCur()" 
  10288.  
  10289.  
  10290.     rInArea()
  10291.  
  10292.          Determines if the mouse is on a zone of the screen
  10293.  
  10294.     Syntax:
  10295.  
  10296.          rInArea( nY1, nX1, nY2, nX2 ) -> lHere
  10297.  
  10298.          nY1, nX1, nY2, nX2 : The coordinates of the zone.
  10299.  
  10300.     Description:
  10301.  
  10302.          Determines if the mouse cursor is inside a zone of the screen
  10303.  
  10304.     Return:
  10305.  
  10306.          A logic value indicating if is inside of the specified zone.
  10307.  
  10308.                                  - Page 172 -
  10309. Norton Guide: `FAST.lib 3.50 » Reference'
  10310.  
  10311.  
  10312.  
  10313.     Example:
  10314.  
  10315.          If rInArea ( 10, 10, 12, 20 )
  10316.            Warning ( "Mouse ok" )
  10317.          EndIf
  10318.  
  10319.  
  10320.     rInkey()
  10321.  
  10322.          Does the same as Inkey() but also takes care of the mouse
  10323.  
  10324.     Syntax:
  10325.  
  10326.          rInkey() -> nKey
  10327.  
  10328.     Description:
  10329.  
  10330.          The same as inkey() but also takes care of the mouse.
  10331.  
  10332.     Return:
  10333.  
  10334.          Returns the same as inKey() or 1001 if the left button is
  10335.          pressed, 1002 if the right button is pressed or 1003 if the center
  10336.          button is pressed.
  10337.  
  10338.     Example:
  10339.  
  10340.          nKey := rInkey(0)
  10341.          If nKey > 1000
  10342.            Warning ( "Mouse button pressed" )
  10343.          ElseIf nKey != 0
  10344.            Warning ( "Key pressed" )
  10345.          Else
  10346.            Warning ( "Nothing" )
  10347.          EndIf
  10348.  
  10349. See Also: "rInkey2()" 
  10350.  
  10351.  
  10352.     rInkey2()
  10353.  
  10354.          Does the same as Inkey() and takes care of the mouse and Setkey()
  10355.  
  10356.     Syntax:
  10357.  
  10358.          rInkey() -> nKey
  10359.  
  10360.     Description:
  10361.  
  10362.          The same as rInkey() and takes care of the mouse and Setkey().
  10363.  
  10364.     Return:
  10365.  
  10366.          Returns the same as inkey() or 1001 if the left button is
  10367.  
  10368.                                  - Page 173 -
  10369. Norton Guide: `FAST.lib 3.50 » Reference'
  10370.  
  10371.  
  10372.          pressed, 1002 if the right button is pressed or 1003 if the center
  10373.          button is pressed.
  10374.  
  10375.     Example:
  10376.  
  10377.          SetKey ( 1001, { || Warning ( "Mouse Left pressed"  } )
  10378.          SetKey ( 1002, { || Warning ( "Mouse Right pressed" } )
  10379.          SetKey ( 1003, { || Warning ( "Mouse Central pressed" } )
  10380.          nKey := rInkey2(0)
  10381.          If nKey != 0
  10382.            Warning ( "Key pressed" )
  10383.          Else
  10384.            Warning ( "Nothing" )
  10385.          EndIf
  10386.  
  10387. See Also: "rInkey()" 
  10388.  
  10389.  
  10390.     rIsMouse()
  10391.  
  10392.          Indicates if the system has a mouse
  10393.  
  10394.     Syntax:
  10395.  
  10396.          rIsMouse() -> lMouse
  10397.  
  10398.     Description:
  10399.  
  10400.          Determines if the system has a mouse and the mouse driver has been
  10401.          loaded.
  10402.  
  10403.     Return:
  10404.  
  10405.          A logic value indicating if system has a mouse.
  10406.  
  10407.     Example:
  10408.  
  10409.          If rIsMouse()
  10410.            Warning ( "Yes" )
  10411.          EndIf
  10412.  
  10413. See Also: "rReset()" 
  10414.  
  10415.  
  10416.     rLeft()
  10417.  
  10418.          Determines if the left button is pressed
  10419.  
  10420.     Syntax:
  10421.  
  10422.          rLeft() -> lPress
  10423.  
  10424.     Description:
  10425.  
  10426.          Determines if the left button is pressed returning a logic value.
  10427.  
  10428.                                  - Page 174 -
  10429. Norton Guide: `FAST.lib 3.50 » Reference'
  10430.  
  10431.  
  10432.  
  10433.     Return:
  10434.  
  10435.          A logic value indicating if is pressed or not.
  10436.  
  10437.     Example:
  10438.  
  10439.          If rLeft()
  10440.            Warning ( "Left button pressed" )
  10441.          EndIf
  10442.  
  10443. See Also: "rCentre()" "rRight()" 
  10444.  
  10445.  
  10446.     rReset()
  10447.  
  10448.          Resets mouse driver
  10449.  
  10450.     Syntax:
  10451.  
  10452.          rReset() -> NIL
  10453.  
  10454.     Description:
  10455.  
  10456.          Generates a hardware reset driver.
  10457.  
  10458.     Return:
  10459.  
  10460.          Nothing.
  10461.  
  10462.     Example:
  10463.  
  10464.          rReset()
  10465.  
  10466. See Also: "rIsMouse()" 
  10467.  
  10468.  
  10469.     rRight()
  10470.  
  10471.          Determines if the right button is pressed
  10472.  
  10473.     Syntax:
  10474.  
  10475.          rRight() -> lPress
  10476.  
  10477.     Description:
  10478.  
  10479.          Determines if the right button is pressed returning a logic value.
  10480.  
  10481.     Return:
  10482.  
  10483.          A logic value indicating if is pressed or not.
  10484.  
  10485.     Example:
  10486.  
  10487.  
  10488.                                  - Page 175 -
  10489. Norton Guide: `FAST.lib 3.50 » Reference'
  10490.  
  10491.  
  10492.          If rRight()
  10493.            Warning ( "Right button pressed" )
  10494.          EndIf
  10495.  
  10496. See Also: "rCentre()" "rLeft()" 
  10497.  
  10498.  
  10499.     rSens()
  10500.  
  10501.          Defines the number of mickeys per pixels
  10502.  
  10503.     Syntax:
  10504.  
  10505.          rSens( nSensHor, nSensVer ) -> NIL
  10506.  
  10507.          nSensHor : A numeric value indicates the number of mickeys per
  10508.                     pixel horizontally. Default is 8.
  10509.          nSensVer : A numeric value indicates the number of mickeys per
  10510.                     pixel vertically. Default is 16.
  10511.  
  10512.     Description:
  10513.  
  10514.          Defines the number of mickeys per 8 pixels horizontally and
  10515.          vertically.
  10516.  
  10517.     Return:
  10518.  
  10519.          Nothing.
  10520.  
  10521.     Example:
  10522.  
  10523.          rSens( 3, 12 )
  10524.  
  10525.  
  10526.     rSetArea()
  10527.  
  10528.          Indicates the zone where the mouse is active
  10529.  
  10530.     Syntax:
  10531.  
  10532.          rSetArea( nY1, nX1, nY2, nX2 ) -> NIL
  10533.  
  10534.          nY1 : Initial Y coordinate
  10535.          nX1 : Initial X coordinate
  10536.          nY2 : Final Y coordinate
  10537.          nX2 : Final X coordinate
  10538.  
  10539.     Description:
  10540.  
  10541.          Indicates the zone where the mouse is to be active.  The system
  10542.          won't allow the pointer to move out of this zone.
  10543.  
  10544.     Return:
  10545.  
  10546.          Nothing.
  10547.  
  10548.                                  - Page 176 -
  10549. Norton Guide: `FAST.lib 3.50 » Reference'
  10550.  
  10551.  
  10552.  
  10553.     Example:
  10554.  
  10555.          rSetArea ( 12, 20, 15, 60 )
  10556.  
  10557.  
  10558.     rSetPos()
  10559.  
  10560.          Changes the mouse cursor position
  10561.  
  10562.     Syntax:
  10563.  
  10564.          rSetPos( nRow, nCol ) -> NIL
  10565.  
  10566.          nRow : New row of mouse cursor
  10567.          nCol : New col of mouse cursor
  10568.  
  10569.     Description:
  10570.  
  10571.          Changes the mouse cursor to a new position.
  10572.  
  10573.     Return:
  10574.  
  10575.          Nothing.
  10576.  
  10577.     Example:
  10578.  
  10579.          rSetPos ( 12, 20 )
  10580.  
  10581.  
  10582.     rSoftCur()
  10583.  
  10584.          Defines software text cursor
  10585.  
  10586.     Syntax:
  10587.  
  10588.          rSoftCur() -> NIL
  10589.  
  10590.     Description:
  10591.  
  10592.          When the software cursor is selected, the char/attribute data at
  10593.          the current screen position is ANDed with the screen mask and then
  10594.          XORed with the cursor mask.
  10595.  
  10596.     Return:
  10597.  
  10598.          Nothing.
  10599.  
  10600.     Example:
  10601.  
  10602.          rSoftCur()
  10603.  
  10604. See Also: "rHardCur()" 
  10605.  
  10606.  
  10607.  
  10608.                                  - Page 177 -
  10609. Norton Guide: `FAST.lib 3.50 » Reference'
  10610.  
  10611.  
  10612.     rVersion()
  10613.  
  10614.          Returns mouse information
  10615.  
  10616.     Syntax:
  10617.  
  10618.          rVersion() -> aInfo
  10619.  
  10620.     Description:
  10621.  
  10622.          Returns information about the mouse and driver.
  10623.  
  10624.     Return:
  10625.  
  10626.          An array with 3 elements
  10627.  
  10628.             aInfo[ 1 ] -> Driver version
  10629.             aInfo[ 2 ] -> IRQ used by driver
  10630.             aInfo[ 3 ] -> Mouse type:
  10631.                             1 -> "bus"
  10632.                             2 -> "serial"
  10633.                             3 -> "InPort"
  10634.                             4 -> "PS/2"
  10635.                             5 -> "HP"
  10636.  
  10637.     Example:
  10638.  
  10639.          LOCAL aTypes := { "bus", "serial", "InPort", "PS/2", "HP" }
  10640.  
  10641.          IF rIsMouse()
  10642.            aInfo := rVersion()
  10643.            ? "Mouse driver version " + aInfo[ 1 ]
  10644.            ? "IRQ number " + ALLTRIM( STR( aInfo[ 2 ] ) )
  10645.            ? aTypes[ aInfo[ 3 ] ] + " mouse installed"
  10646.          ENDIF
  10647.  
  10648.  
  10649.  
  10650.  
  10651.  
  10652.  
  10653.  
  10654.  
  10655.  
  10656.  
  10657.  
  10658.  
  10659.  
  10660.  
  10661.  
  10662.  
  10663.  
  10664.  
  10665.  
  10666.  
  10667.                                  - Page 178 -
  10668. Norton Guide: `FAST.lib 3.50 » Reference'
  10669.  
  10670.  
  10671. Menu List: FAST.lib 2, Printer
  10672.  
  10673.  
  10674.  
  10675.  
  10676.     With these functions you can control printing in Clipper. You will
  10677.  also be able to control the queue of the print command in DOS.
  10678.  
  10679.  ──────────────────────────────────────────────────────────────────────────────
  10680.  
  10681.  
  10682.     GetPrinter()
  10683.  
  10684.          Gets printer state
  10685.  
  10686.     Syntax:
  10687.  
  10688.          GetPrinter( [nPrinter] ) -> nStatus
  10689.  
  10690.          nPrinter : Printer Number. 0 = LPT1, 1 = LPT2...
  10691.                     Defect verify the printer 0
  10692.  
  10693.     Description:
  10694.  
  10695.          Determines if the printer is ready, out of paper, if is off or there
  10696.          is no printer.
  10697.  
  10698.     Return:
  10699.  
  10700.          A number indicating the printer state over the next list.
  10701.  
  10702.  
  10703.           0 READY       ->  Ready
  10704.           1 BUSY        ->  Not ready
  10705.           2 PAPER       ->  Out of paper
  10706.           3 NOTHERE     ->  There's no printer
  10707.           4 LAN         ->  Remote printer
  10708.           5 ISOFF       ->  Not ready
  10709.  
  10710.     Example:
  10711.  
  10712.          nStatus := GetPrinter()
  10713.          If nStatus == 0 .Or. nStatus == 4
  10714.            Warning ( "Printer Ready" )
  10715.          EndIf
  10716.  
  10717.  
  10718.     IsPrint()
  10719.  
  10720.          Determines if PRINT.EXE is loaded
  10721.  
  10722.     Syntax:
  10723.  
  10724.          IsPrint() -> lLoaded
  10725.  
  10726.  
  10727.                                  - Page 179 -
  10728. Norton Guide: `FAST.lib 3.50 » Reference'
  10729.  
  10730.  
  10731.     Description:
  10732.  
  10733.          Determines if PRINT.EXE is loaded in memory.
  10734.  
  10735.     Return:
  10736.  
  10737.          A logic value indicating if is loaded or not.
  10738.  
  10739.     Example:
  10740.  
  10741.          If IsPrint()
  10742.            Warning ( "PRINT has been loaded" )
  10743.          EndIf
  10744.  
  10745.  
  10746.     pAddFile()
  10747.  
  10748.          Adds a file to the print command's queue
  10749.  
  10750.     Syntax:
  10751.  
  10752.          pAddFile( cFile ) -> lError
  10753.  
  10754.          cFile : The file that is to be printed.
  10755.  
  10756.     Description:
  10757.  
  10758.          Adds a file to the print command's queue.
  10759.          Check that PRINT.EXE is installed before using this function.
  10760.          The filename must be indicated with full path, e.g. C:\DOS\ANSI.SYS
  10761.  
  10762.     Return:
  10763.  
  10764.          .T. if everything is Ok. or .F. if there are problems.
  10765.  
  10766.     Example:
  10767.  
  10768.          If ! pAddFile( "c:\autoexec.bat" )
  10769.            Warning ( "Error" )
  10770.          EndIf
  10771.  
  10772. See Also: "IsPrint()" "pDelAll()" "pDelFile()" "pError()" "pRestart()" 
  10773.  
  10774.  
  10775.     pDelAll()
  10776.  
  10777.          Deletes all the Print command's queue
  10778.  
  10779.     Syntax:
  10780.  
  10781.          pDelAll() -> lError
  10782.  
  10783.     Description:
  10784.  
  10785.          Deletes a the Print command's queue.
  10786.  
  10787.                                  - Page 180 -
  10788. Norton Guide: `FAST.lib 3.50 » Reference'
  10789.  
  10790.  
  10791.          Check that PRINT.EXE is installed before using this function.
  10792.  
  10793.     Return:
  10794.  
  10795.          .T. if everything is Ok. or .F. if there are problems.
  10796.  
  10797.     Example:
  10798.  
  10799.          If ! pDelAll()
  10800.            Warning ( "Error" )
  10801.          EndIf
  10802.  
  10803. See Also: "IsPrint()" "pAddFile()" "pDelFile()" "pError()" "pRestart()" 
  10804.  
  10805.  
  10806.     pDelFile()
  10807.  
  10808.          Deletes the Print command's queue
  10809.  
  10810.     Syntax:
  10811.  
  10812.          pDelFile( cFile ) -> lError
  10813.  
  10814.          cFile : The file to delete from the queue.
  10815.  
  10816.     Description:
  10817.  
  10818.          Deletes the Print command's queue.
  10819.          Check that PRINT.EXE is installed before using this function.
  10820.          The filename must be indicated with full path, e.g. C:\DOS\ANSI.SYS
  10821.  
  10822.     Return:
  10823.  
  10824.          .T. if everything is Ok. or .F. if there are problems.
  10825.  
  10826.     Example:
  10827.  
  10828.          pAddFile ( "c:\config.sys" )
  10829.          If ! pDelFile( "c:\config.sys" )
  10830.            Warning( "Error" )
  10831.          EndIf
  10832.  
  10833. See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pError()" "pRestart()" 
  10834.  
  10835.  
  10836.  
  10837.          Indicates if the print queue has been stopped
  10838.  
  10839.     Syntax:
  10840.  
  10841.          pError() -> lError
  10842.  
  10843.     Description:
  10844.  
  10845.          Indicates if Print has detected any error or problem and has
  10846.  
  10847.                                  - Page 181 -
  10848. Norton Guide: `FAST.lib 3.50 » Reference'
  10849.  
  10850.  
  10851.          stopped the queue.
  10852.          Check that PRINT.EXE is installed before using this function.
  10853.  
  10854.     Return:
  10855.  
  10856.          .T. if there is error or .F. if there is not error.
  10857.  
  10858.     Example:
  10859.  
  10860.          If ! pError()
  10861.            Warning ( "Ok" )
  10862.          EndIf
  10863.  
  10864. See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pRestart()" 
  10865.  
  10866.  
  10867.     pQueue()
  10868.  
  10869.          Returns the Print's queue
  10870.  
  10871.     Syntax:
  10872.  
  10873.          pQueue() -> aQueue
  10874.  
  10875.     Description:
  10876.  
  10877.          Returns the Print's queue.
  10878.          Check that PRINT.EXE is installed before using this function.
  10879.  
  10880.     Return:
  10881.  
  10882.          An array with the files of the Print's queue.
  10883.  
  10884.     Example:
  10885.  
  10886.          If IsPrint()
  10887.            aQueue := pQueue()
  10888.            For nInd := 1 To Len( aQueue )
  10889.              ? aQueue[ nInd ]
  10890.            Next
  10891.          EndIf
  10892.  
  10893. See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pError()" 
  10894.  
  10895.  
  10896.     pRestart()
  10897.  
  10898.          Restarts the Print's queue
  10899.  
  10900.     Syntax:
  10901.  
  10902.          pRestart() -> lError
  10903.  
  10904.     Description:
  10905.  
  10906.  
  10907.                                  - Page 182 -
  10908. Norton Guide: `FAST.lib 3.50 » Reference'
  10909.  
  10910.  
  10911.          Restart the Print's queue.
  10912.          Check that PRINT.EXE is installed before using this function.
  10913.  
  10914.     Return:
  10915.  
  10916.          .T. if can be restart or .F. if can not be restart.
  10917.  
  10918.     Example:
  10919.  
  10920.          If pError()
  10921.            If pRestart()
  10922.              Warning ( "Restarting queue..." )
  10923.            Else
  10924.              Warning ( "queue is dead" )
  10925.            Endif
  10926.          Else
  10927.            Warning ( "All right" )
  10928.          EndIf
  10929.  
  10930. See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pError()" 
  10931.  
  10932.  
  10933.     PrtScr()
  10934.  
  10935.          Prints the current screen
  10936.  
  10937.     Syntax:
  10938.  
  10939.          PrtScr() -> NIL
  10940.  
  10941.     Description:
  10942.  
  10943.          Prints the current screen.  This is functionally equivalent to
  10944.          the Shift-PrtScrn key.
  10945.  
  10946.     Return:
  10947.  
  10948.          Nothing.
  10949.  
  10950.     Example:
  10951.  
  10952.          PrtScr()                       // Prints the screen
  10953.  
  10954. See Also: "SetHardCopy()" 
  10955.  
  10956.  
  10957.     SetHardCopy()
  10958.  
  10959.          Enables/disables hardcopy
  10960.  
  10961.     Syntax:
  10962.  
  10963.          SetHardCopy( lEnable ) -> Nothing
  10964.  
  10965.          lEnable : A logic value indicating enable hardcopy (.T.) or
  10966.  
  10967.                                  - Page 183 -
  10968. Norton Guide: `FAST.lib 3.50 » Reference'
  10969.  
  10970.  
  10971.                    disable (.F.)
  10972.  
  10973.     Description:
  10974.  
  10975.          This function Enables or disables the hardcopy generated by
  10976.          the PrtScr key.
  10977.  
  10978.     Return:
  10979.  
  10980.          A logic value indicating if hardcopy is disable or enable.
  10981.  
  10982.     Example:
  10983.  
  10984.          SetHardCopy( .F. )                 // disable hardcopy
  10985.  
  10986. See Also: "PrtScr()" 
  10987.  
  10988.  
  10989.     ToPrint()
  10990.  
  10991.          Prints a string on the Printer
  10992.  
  10993.     Syntax:
  10994.  
  10995.          ToPrint( cString ) -> NIL
  10996.  
  10997.          cString : The string to be Printed on the Printer.
  10998.  
  10999.     Description:
  11000.  
  11001.          Prints a string on the Printer with a CR/LF. Do not open or close
  11002.          the Port, this function will do it for you.
  11003.  
  11004.     Return:
  11005.  
  11006.          Nothing.
  11007.  
  11008.     Example:
  11009.  
  11010.          ToPrint ( "This string goes to printer" )
  11011.  
  11012.  
  11013.  
  11014.  
  11015.  
  11016.  
  11017.  
  11018.  
  11019.  
  11020.  
  11021.  
  11022.  
  11023.  
  11024.  
  11025.  
  11026.                                  - Page 184 -
  11027. Norton Guide: `FAST.lib 3.50 » Reference'
  11028.  
  11029.  
  11030. Menu List: FAST.lib 2, Screen
  11031.  
  11032.  
  11033.  
  11034.  
  11035.     These functions help with screen accesses under Clipper.
  11036.  
  11037.  ──────────────────────────────────────────────────────────────────────────────
  11038.  
  11039.  
  11040.     BigLetter()
  11041.  
  11042.          Returns an array with the big banner of a letter
  11043.  
  11044.     Syntax:
  11045.  
  11046.          BigLetter( nLetter ) -> aFormat
  11047.  
  11048.          aLetter : The ASCII value of the letter
  11049.  
  11050.     Description:
  11051.  
  11052.          Creates an returns an array with the format of a letter to create
  11053.          banners.
  11054.  
  11055.     Return:
  11056.  
  11057.          An array value.
  11058.  
  11059.     Example:
  11060.  
  11061.          BigLetter( Chr( "A" ) )  // returns      { "     █     ", ;
  11062.                                                     "    █ █    ", ;
  11063.                                                     "   ██ ██   ", ;
  11064.                                                     "  ██   ██  ", ;
  11065.                                                     ...          , ;
  11066.                                                   }
  11067.  
  11068. See Also: "BigString()" "SmallLetter()" "SmallString()" 
  11069.  
  11070.  
  11071.     BigString()
  11072.  
  11073.          Displays a big banner with a specified string
  11074.  
  11075.     Syntax:
  11076.  
  11077.          BigString( nRow, nCol, cString, cColor ) -> NIL
  11078.  
  11079.          nRow    : Row of banner
  11080.          nCol    : Col of banner
  11081.          cString : The string to display
  11082.          cColor  : The color
  11083.  
  11084.     Description:
  11085.  
  11086.                                  - Page 185 -
  11087. Norton Guide: `FAST.lib 3.50 » Reference'
  11088.  
  11089.  
  11090.  
  11091.          Creates and displays and banner with a specified string. This function
  11092.          uses BigLetter() to create the banner.
  11093.  
  11094.     Return:
  11095.  
  11096.          Nothing.
  11097.  
  11098.     Example:
  11099.  
  11100.          BigString( 1, 10, "Hello", "GR+/B" )
  11101.  
  11102. See Also: "BigLetter()" "SmallLetter()" "SmallString()" 
  11103.  
  11104.  
  11105.     BoxClose()
  11106.  
  11107.          Closes a light focus window
  11108.  
  11109.     Syntax:
  11110.  
  11111.          BoxClose ( aBox ) -> NIL
  11112.  
  11113.          aBox : An Array value with a light focus window
  11114.  
  11115.     Description:
  11116.  
  11117.          Closes a light focus window and restores the screen.
  11118.  
  11119.     Return:
  11120.  
  11121.          Nothing
  11122.  
  11123.     Example:
  11124.  
  11125.          BoxClose ( aBox )
  11126.  
  11127. See Also: "BoxOpen()" "BoxDelete()" "BoxPush()" 
  11128.  
  11129.  
  11130.     BoxDelete()
  11131.  
  11132.          Clears the contents of a light focus window
  11133.  
  11134.     Syntax:
  11135.  
  11136.          BoxDelete( aBox ) -> NIL
  11137.  
  11138.          aBox : An Array value of a light focus window
  11139.  
  11140.     Description:
  11141.  
  11142.          Cleans the contents of a focused window with the effect of
  11143.          pressing a button.
  11144.  
  11145.  
  11146.                                  - Page 186 -
  11147. Norton Guide: `FAST.lib 3.50 » Reference'
  11148.  
  11149.  
  11150.     Return:
  11151.  
  11152.          Nothing.
  11153.  
  11154.     Example:
  11155.  
  11156.          BoxDelete ( aBox )
  11157.  
  11158. See Also: "BoxOpen()" "BoxClose()" "BoxPush()" 
  11159.  
  11160.  
  11161.     BoxOpen()
  11162.  
  11163.          Opens a light focus window
  11164.  
  11165.     Syntax:
  11166.  
  11167.          BoxOpen ( nTop, nLeft, nBottom, nRight, cColor, nFast ) -> aBox
  11168.  
  11169.          nTop    : Initial Y of the window.
  11170.          nLeft   : Initial X.
  11171.          nBottom : Final Y.
  11172.          nRight  : Final X
  11173.          cColor  : Background color of the window
  11174.          nFast   : Pushing speed of the window
  11175.  
  11176.     Description:
  11177.  
  11178.          Opens a window at the specified position with color cColor.
  11179.          The color is for the background and its value must not exceed 7
  11180.          ( it can not include character "+" )
  11181.  
  11182.     Return:
  11183.  
  11184.          An array with parameter for BoxPush and BoxClose.
  11185.  
  11186.     Example:
  11187.  
  11188.          BoxOpen ( 12, 10, 14, 40, "B", 0.2 )
  11189.  
  11190. See Also: "BoxDelete()" "BoxClose()" "BoxPush()" 
  11191.  
  11192.  
  11193.     BoxMessage()
  11194.  
  11195.          Writes a message in a light focus window
  11196.  
  11197.     Syntax:
  11198.  
  11199.          BoxMessage( cMessage, [nY], [nX], [cColor] ) -> aWindow
  11200.  
  11201.          cMessage : Message to display in the window
  11202.          nY       : Y coordinate of the window. ( Default: 7 )
  11203.          nX       : X coordinate of the window. ( Default: centered )
  11204.          cColor   : Color of the window. ( Default: "B" )
  11205.  
  11206.                                  - Page 187 -
  11207. Norton Guide: `FAST.lib 3.50 » Reference'
  11208.  
  11209.  
  11210.  
  11211.     Description:
  11212.  
  11213.          Shows a message in the window using a focused light window. If
  11214.          the Y coordinate is not specified, it assumes the value 7.
  11215.          If the X coordinate is not specified, the window shrinks or grows
  11216.          depending in the message's length. By default, the color used is
  11217.          "B".
  11218.  
  11219.          Remember that you can not use the character "+" for colors
  11220.          in focused light windows.
  11221.  
  11222.  
  11223.     Return:
  11224.  
  11225.          An array with information to work with a focused light window.
  11226.  
  11227.     Example:
  11228.  
  11229.          nCursor  := SetCursor ( 0 )
  11230.          aButton  := BoxMessage ( "Fast Library For Clipper", 12, , "G" )
  11231.          Inkey(0)
  11232.          BoxPush ( abutton )
  11233.          Delay ( .1 )
  11234.          BoxClose ( abutton )
  11235.          SetCursor ( nCursor )
  11236.  
  11237. See Also: "Message()" 
  11238.  
  11239.  
  11240.     BoxPush()
  11241.  
  11242.          Makes a pushing effect in a window with light focus
  11243.  
  11244.     Syntax:
  11245.  
  11246.          BoxPush ( aBox ) -> NIL
  11247.  
  11248.          aBox : An Array value with a light focus window
  11249.  
  11250.     Description:
  11251.  
  11252.          Makes a pushing effect in the window at the speed passed to the
  11253.          function BoxOpen ()
  11254.  
  11255.     Return:
  11256.  
  11257.          Nothing.
  11258.  
  11259.     Example:
  11260.  
  11261.          BoxPush ( aBox )
  11262.  
  11263. See Also: "BoxOpen()" "BoxDelete()" "BoxClose()" 
  11264.  
  11265.  
  11266.                                  - Page 188 -
  11267. Norton Guide: `FAST.lib 3.50 » Reference'
  11268.  
  11269.  
  11270.  
  11271.     BoxQuery()
  11272.  
  11273.          Makes a query and returns a logic value
  11274.  
  11275.     Syntax:
  11276.  
  11277.          BoxQuery( cQuery ) -> lAnswer
  11278.  
  11279.          cQuery : Question to show in the box
  11280.  
  11281.     Description:
  11282.  
  11283.          Asks a question using a focused light window and returns a logical
  11284.          value.
  11285.  
  11286.     Return:
  11287.  
  11288.          A logical value, according to the answer.
  11289.  
  11290.     Example:
  11291.  
  11292.          If BoxQuery ( "Do you want to exit? (Y/N)" )
  11293.            Warning( "Exiting..." )
  11294.          EndIf
  11295.  
  11296. See Also: "Query()" 
  11297.  
  11298.  
  11299.     BoxTurn()
  11300.  
  11301.          Turns on/off a window with light focus
  11302.  
  11303.     Syntax:
  11304.  
  11305.          BoxTurn ( aBox [, lMode] ) -> NIL
  11306.  
  11307.          aBox  : An Array value with a light focus window
  11308.          lMode : The new visual mode. ( By default: .T. )
  11309.  
  11310.     Description:
  11311.  
  11312.          Reverses the orientation of a focused light window. If lMode is
  11313.          true, the window shows up in the normal way. Otherwise, the
  11314.          window shows up as pushed.
  11315.  
  11316.     Return:
  11317.  
  11318.          Nothing.
  11319.  
  11320.     Example:
  11321.  
  11322.          BoxTurn ( aBox, .T. )
  11323.  
  11324. See Also: "BoxOpen()" "BoxDelete()" "BoxClose()" "BoxPush()" 
  11325.  
  11326.                                  - Page 189 -
  11327. Norton Guide: `FAST.lib 3.50 » Reference'
  11328.  
  11329.  
  11330.  
  11331.  
  11332.     BoxWarning()
  11333.  
  11334.          Shows a warning in a light focus window
  11335.  
  11336.     Syntax:
  11337.  
  11338.          BoxWarning( xWarning ) -> NIL
  11339.  
  11340.          xWarning : Message to show on the screen. It may be a string or
  11341.                     a string array.
  11342.  
  11343.     Description:
  11344.  
  11345.          Opens up a focused light window showing a message. It waits until a
  11346.          key is pressed.
  11347.  
  11348.     Return:
  11349.  
  11350.          Nothing.
  11351.  
  11352.     Example:
  11353.  
  11354.          BoxWarning ( "Hello world" )
  11355.          BoxWarning ( { "Hello", "", "What are you doing?" } )
  11356.  
  11357. See Also: "Warning()" 
  11358.  
  11359.  
  11360.     Fascinate()
  11361.  
  11362.          Makes an effect on the screen
  11363.  
  11364.     Syntax:
  11365.  
  11366.          Fascinate( cColor1, cColor2 ) -> NIL
  11367.  
  11368.          cColor1 : Initial color, that must not exceed the value 7.
  11369.          cColor2 : Final color.
  11370.  
  11371.     Description:
  11372.  
  11373.          It makes a gradual color change to the color palette in text mode
  11374.          changing from cColor1 to cColor2. Use dark or light colors but don't
  11375.          mix them, because it looks pretty ugly.
  11376.  
  11377.     Return:
  11378.  
  11379.          Nothing.
  11380.  
  11381.     Example:
  11382.  
  11383.          Fascinate( "BG", "G" )
  11384.          Fascinate( "G", "GR" )
  11385.  
  11386.                                  - Page 190 -
  11387. Norton Guide: `FAST.lib 3.50 » Reference'
  11388.  
  11389.  
  11390.  
  11391.  
  11392.     FastPrint()
  11393.  
  11394.          Prints a message on screen
  11395.  
  11396.     Syntax:
  11397.  
  11398.          FastPrint( nY, nX, cMessage, nColor ) -> NIL
  11399.  
  11400.          nY       : Y coordinate
  11401.          nX       : X coordinate
  11402.          cMessage : Message to display
  11403.          nColor   : a numeric value with the color
  11404.  
  11405.     Description:
  11406.  
  11407.          Prints a message on screen. It's very quick.
  11408.  
  11409.     Return:
  11410.  
  11411.          Nothing.
  11412.  
  11413.     Example:
  11414.  
  11415.          #define HIWHITE 15
  11416.  
  11417.          FastPrint( 10, 12, "I want to be free...", HIWHITE )
  11418.  
  11419.  
  11420.     File2Scr()
  11421.  
  11422.          Restores the screen from a file
  11423.  
  11424.     Syntax:
  11425.  
  11426.          File2Scr( cFile ) -> lSuccess
  11427.  
  11428.          cFile : The filename with the saved screen
  11429.  
  11430.     Description:
  11431.  
  11432.          Restore the screen from a disk file. Default file is Fast.scr.
  11433.  
  11434.     Return:
  11435.  
  11436.          A logic value indicating if an error is found.
  11437.  
  11438.     Example:
  11439.  
  11440.          If ! File2Scr ( "MyScreen.Scr" )
  11441.            Return ( NIL )
  11442.          EndIf
  11443.  
  11444. See Also: "Scr2File()" 
  11445.  
  11446.                                  - Page 191 -
  11447. Norton Guide: `FAST.lib 3.50 » Reference'
  11448.  
  11449.  
  11450.  
  11451.  
  11452.     GetChar()
  11453.  
  11454.          Returns a character from the screen
  11455.  
  11456.     Syntax:
  11457.  
  11458.          GetChar( nY, nX ) -> cChar
  11459.  
  11460.          nY : The Y coordinate
  11461.          nX : The X coordinate
  11462.  
  11463.     Description:
  11464.  
  11465.          Returns a character from the specified position of screen
  11466.  
  11467.     Return:
  11468.  
  11469.          The character from the screen.
  11470.  
  11471.     Example:
  11472.  
  11473.          ? GetChar ( 22, 10 )                   // "c"
  11474.  
  11475.  
  11476.     Implode()
  11477.  
  11478.          Restores a saved screen region
  11479.  
  11480.     Syntax:
  11481.  
  11482.          Implode( nY1, nX1, nY2, nX2, cScr [, nDelay] ) -> NIL
  11483.  
  11484.          nY1    : Upper left Y coordinate
  11485.          nX1    : Upper left X coordinate
  11486.          nY2    : Lower right Y coordinate
  11487.          nX2    : Lower right Y coordinate
  11488.          cScr   : The screen saved with SaveScreen()
  11489.          nDelay : Delay time. Default value is 10.
  11490.  
  11491.     Description:
  11492.  
  11493.          Restores a screen or part of it that has been saved with
  11494.          SaveScreen().
  11495.  
  11496.          It is a spectacular alternative method to RestScreen().
  11497.  
  11498.     Return:
  11499.  
  11500.          Nothing.
  11501.  
  11502.     Example:
  11503.  
  11504.          cScr := SaveScreen( 10, 10, 20, 70 )
  11505.  
  11506.                                  - Page 192 -
  11507. Norton Guide: `FAST.lib 3.50 » Reference'
  11508.  
  11509.  
  11510.          DispBox( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B" )
  11511.          Inkey( 0 )
  11512.          Implode( 10, 10, 20, 70, cScr, 30 )
  11513.  
  11514.  
  11515.     Message()
  11516.  
  11517.          Displays a string to the screen
  11518.  
  11519.     Syntax:
  11520.  
  11521.          Message( nY, nX, cMess [, cColor] ) -> NIL
  11522.  
  11523.          nY     : Y coordinate
  11524.          nX     : X coordinate
  11525.          cMess  : Message to write
  11526.          cColor : Optional color of query
  11527.  
  11528.     Description:
  11529.  
  11530.          Writes cMess at the given coordinates using cColor or the active
  11531.          color if cColor is NIL.
  11532.  
  11533.     Return:
  11534.  
  11535.          Nothing.
  11536.  
  11537.     Example:
  11538.  
  11539.          Message ( 12, 15, "Hello", "R/B" )
  11540.  
  11541. See Also: "Warning()" "Query()" 
  11542.  
  11543.  
  11544.     NewBox()
  11545.  
  11546.          Opens an exploding window with title and shadow
  11547.  
  11548.     Syntax:
  11549.  
  11550.          NewBox( nY1, nX1, nY2, nX2, [cTitle], cBox, lShadow, ;
  11551.                  [cColor], [nIter], [nDelay] ) -> NIL
  11552.  
  11553.          nY1     : Upper left Y coordinate
  11554.          nX1     : Upper left X coordinate
  11555.          nY2     : Lower right Y coordinate
  11556.          nX2     : Lower right X coordinate
  11557.          ctitle  : Optional title of the window
  11558.          cBox    : Box of the window
  11559.          lShadow : A logical value to indicate shadowing
  11560.          cColor  : Optional, color of the window
  11561.          nIter   : Number of iterations of the explode effect. By default 6
  11562.          nDelay  : Delay time. By default 10.
  11563.  
  11564.     Description:
  11565.  
  11566.                                  - Page 193 -
  11567. Norton Guide: `FAST.lib 3.50 » Reference'
  11568.  
  11569.  
  11570.  
  11571.          It draws a window in the given coordinates with title ctitle
  11572.          or without title if ctitle is NIL and with or without shadow
  11573.          depending on lShadow.
  11574.          The color of window is cColor or the active color if cColor is
  11575.          NIL.
  11576.          The opening explode speed of the window is defined by nInter.
  11577.  
  11578.     Return:
  11579.  
  11580.          Nothing.
  11581.  
  11582.     Example:
  11583.  
  11584.          NewBox( 10, 15, 20, 25, "My title", "╔═╗║╝═╚║ ", .T., "GR+/B", 12 )
  11585.  
  11586. See Also: "Window()" 
  11587.  
  11588.  
  11589.     Query()
  11590.  
  11591.          Makes a query and returns a logic value
  11592.  
  11593.     Syntax:
  11594.  
  11595.          Query( cQuery [, cColor] ) -> NIL
  11596.  
  11597.          cQuery : Question to write
  11598.          cColor : Optional color of message
  11599.  
  11600.     Description:
  11601.  
  11602.          Makes a question on line 24 and waits until the user presses
  11603.          Y or N.
  11604.  
  11605.     Return:
  11606.  
  11607.          A logical value indicating the answer.
  11608.  
  11609.     Example:
  11610.  
  11611.          Query ( "Are you spanish? (Y/N)", "R/B" )
  11612.  
  11613. See Also: "Warning()" "Message()" 
  11614.  
  11615.  
  11616.     RestScr()
  11617.  
  11618.          Restores a saved screen region
  11619.  
  11620.     Syntax:
  11621.  
  11622.          RestScr( nY1, nX1, nY2, nX2, aScr [, nDelay] ) -> NIL
  11623.  
  11624.          nY1    : Upper left Y coordinate
  11625.  
  11626.                                  - Page 194 -
  11627. Norton Guide: `FAST.lib 3.50 » Reference'
  11628.  
  11629.  
  11630.          nX1    : Upper left X coordinate
  11631.          nY2    : Lower right Y coordinate
  11632.          nX2    : Lower right X coordinate
  11633.          aScr   : The screen saved with SaveScr()
  11634.          nDelay : Delay time. By default 20.
  11635.  
  11636.     Description:
  11637.  
  11638.          Restores a screen saved with SaveScr() with a spectacular effect.
  11639.  
  11640.     Return:
  11641.  
  11642.          Nothing.
  11643.  
  11644.     Example:
  11645.  
  11646.          nMode := 2
  11647.          aScr  := SaveScr ( 10, 10, 20, 70, nMode )
  11648.          DispBox ( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B"  )
  11649.          Inkey(1)
  11650.          RestScr ( 10, 10, 20, 70, aScr )
  11651.  
  11652. See Also: "SaveScr()" 
  11653.  
  11654.  
  11655.     SaveScr()
  11656.  
  11657.          Saves a screen region
  11658.  
  11659.     Syntax:
  11660.  
  11661.          SaveScr( nY1, nX1, nY2, nX2, nEffect ) -> aScreen
  11662.  
  11663.          nY1     : Upper left Y coordinate
  11664.          nX1     : Upper left X coordinate
  11665.          nY2     : Lower right Y coordinate
  11666.          nX2     : Lower right X coordinate
  11667.          nEffect : A numeric value indicating the type of effect
  11668.                    1 -> left - right
  11669.                    2 -> right - left
  11670.                    3 -> up - down
  11671.                    4 -> down - up
  11672.  
  11673.     Description:
  11674.  
  11675.          Saves a screen region that can later be restored with RestScr().
  11676.  
  11677.     Return:
  11678.  
  11679.          Saved screen region.
  11680.  
  11681.     Example:
  11682.  
  11683.          nMode := 1
  11684.          aScr  := SaveScr ( 10, 10, 20, 70, nMode )
  11685.  
  11686.                                  - Page 195 -
  11687. Norton Guide: `FAST.lib 3.50 » Reference'
  11688.  
  11689.  
  11690.          DispBox ( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B"  )
  11691.          Inkey(1)
  11692.          RestScr ( 10, 10, 20, 70, aScr )
  11693.  
  11694. See Also: "RestScr()" 
  11695.  
  11696.  
  11697.     Scr2File()
  11698.  
  11699.          Saves the screen to a file
  11700.  
  11701.     Syntax:
  11702.  
  11703.          Scr2File( cFile ) -> lError
  11704.  
  11705.          cFile : The name of a file with a saved screen
  11706.  
  11707.     Description:
  11708.  
  11709.          Saves the screen to a file. Default file is Fast.scr.
  11710.  
  11711.     Return:
  11712.  
  11713.          A logic value indicating if an error is found.
  11714.  
  11715.     Example:
  11716.  
  11717.          If ! Scr2File ( "Screen.Scr" )
  11718.            Warning ( "Not possible!!" )
  11719.          EndIf
  11720.  
  11721. See Also: "File2Scr()" 
  11722.  
  11723.  
  11724.     Screen()
  11725.  
  11726.          Clears the screen with optional color and string
  11727.  
  11728.     Syntax:
  11729.  
  11730.          Screen( [cString], [cColor] ) -> NIL
  11731.  
  11732.          cString : String to fill up the screen
  11733.          cColor  : Optional color.
  11734.  
  11735.     Description:
  11736.  
  11737.          Clears the screen with optional string and color.
  11738.  
  11739.     Return:
  11740.  
  11741.          Nothing.
  11742.  
  11743.     Example:
  11744.  
  11745.  
  11746.                                  - Page 196 -
  11747. Norton Guide: `FAST.lib 3.50 » Reference'
  11748.  
  11749.  
  11750.          Screen()                          // usual cls
  11751.          Screen( "Fast Library " )         // cls with string
  11752.          Screen( "Fast Library ", "R/B" )  // cls with string and color
  11753.  
  11754.  
  11755.     SetFont()
  11756.  
  11757.          Changes the character font
  11758.  
  11759.     Syntax:
  11760.  
  11761.          SetFont( cFile, lGraphMode ) -> nError
  11762.  
  11763.          cFile      : The filename of the font
  11764.          lGraphMode : A logic indicating if we are in graphic mode.
  11765.                       By default is .F. indicating text mode.
  11766.  
  11767.     Description:
  11768.  
  11769.          It changes the pointer to the BIOS zone, where the character
  11770.          font is placed.  A new character font is placed in memory and
  11771.          used.
  11772.  
  11773.     Return:
  11774.  
  11775.          A numeric value indicating:
  11776.  
  11777.                 0       Ok
  11778.                -1       The file does not exist
  11779.                -2       File structure is incorrect
  11780.  
  11781.     Example:
  11782.  
  11783.          If SetFont ( "c:\os2\mdos\myappl\fonts\roman.fon" ) == 0
  11784.            ? "Ok"
  11785.          EndIf
  11786.  
  11787.          or
  11788.  
  11789.          SetVGA()
  11790.          SetFont( "c:\dos\fonts\script.fon", .T. )
  11791.  
  11792. See Also: "SetFontChar()" 
  11793.  
  11794.  
  11795.     SetFontChar()
  11796.  
  11797.          Changes a single character font
  11798.  
  11799.     Syntax:
  11800.  
  11801.          SetFontChar( cString, nChar, lGraphMode ) -> NIL
  11802.  
  11803.          cString    : A 16 byte string with the new character font
  11804.          nChar      : An Ascii number indicating the char to change
  11805.  
  11806.                                  - Page 197 -
  11807. Norton Guide: `FAST.lib 3.50 » Reference'
  11808.  
  11809.  
  11810.          lGraphMode : A logic indicating if we are in graphic mode.
  11811.                       By default is .F. indicating text mode.
  11812.  
  11813.     Description:
  11814.  
  11815.          It changes the pointer to the BIOS zone, where the character
  11816.          font is placed.  A new character font is placed in memory and
  11817.          used.
  11818.  
  11819.     Return:
  11820.  
  11821.          Nothing.
  11822.  
  11823.     Example:
  11824.  
  11825.          lMode := .T.                               // we are in graph mode
  11826.          cNewA := Replicate( Chr( 255 ), 16 )
  11827.          SetFontChar( cNewA, Ascii( "A" ), lMode )  // the "A" will be a "█"
  11828.  
  11829. See Also: "SetFont()" 
  11830.  
  11831.  
  11832.     SetGray()
  11833.  
  11834.          Creates a virtual b/w monitor
  11835.  
  11836.     Syntax:
  11837.  
  11838.          SetGray( lGray ) -> NIL
  11839.  
  11840.          lGray : a logic value indicating if you want a virtual b/w monitor
  11841.  
  11842.     Description:
  11843.  
  11844.          This function allows your programs to run simulating a b/w
  11845.          monitor.
  11846.          It's very useful if you want test your programs with a b/w monitor.
  11847.  
  11848.     Return:
  11849.  
  11850.          Nothing.
  11851.  
  11852.     Example:
  11853.  
  11854.          cPalette := GetPalette()
  11855.          SetGray( .T. )
  11856.          BoxWarning( "The monitor is b/w!!!" )
  11857.          SetGray( .F. )
  11858.          SetPalette( cPalette )
  11859.          BoxWarning( "The monitor is color!!!, of course" )
  11860.  
  11861.  
  11862.     SmallLetter()
  11863.  
  11864.          Returns an array with the compresed banner of a letter
  11865.  
  11866.                                  - Page 198 -
  11867. Norton Guide: `FAST.lib 3.50 » Reference'
  11868.  
  11869.  
  11870.  
  11871.     Syntax:
  11872.  
  11873.          SmallLetter( nLetter ) -> aFormat
  11874.  
  11875.          aLetter : The ASCII value of the letter
  11876.  
  11877.     Description:
  11878.  
  11879.          Creates an returns an array with the format of a letter to create
  11880.          a compresed banner.
  11881.  
  11882.     Return:
  11883.  
  11884.          An array value.
  11885.  
  11886.     Example:
  11887.  
  11888.          SmallLetter( Chr( "A" ) )  // returns    { "    ▄▀▄    ", ;
  11889.                                                     "  ▄█▀ ▀█▄  ", ;
  11890.                                                     "  ▀▀   ▀▀  ", ;
  11891.                                                     ...          , ;
  11892.                                                   }
  11893.  
  11894. See Also: "BigString()" "BigLetter()" "SmallString()" 
  11895.  
  11896.  
  11897.     SmallString()
  11898.  
  11899.          Displays a compresed banner with a specified string
  11900.  
  11901.     Syntax:
  11902.  
  11903.          SmallString( nRow, nCol, cString, cColor ) -> NIL
  11904.  
  11905.          nRow    : Row of banner
  11906.          nCol    : Col of banner
  11907.          cString : The string to display
  11908.          cColor  : The color
  11909.  
  11910.     Description:
  11911.  
  11912.          Creates and displays and banner with a specified string. This function
  11913.          uses SmallLetter() to create the banner.
  11914.  
  11915.     Return:
  11916.  
  11917.          Nothing.
  11918.  
  11919.     Example:
  11920.  
  11921.          SmallString( 1, 10, "Hello", "GR+/B" )
  11922.  
  11923. See Also: "BigLetter()" "BigLetter()" "SmallLetter()" 
  11924.  
  11925.  
  11926.                                  - Page 199 -
  11927. Norton Guide: `FAST.lib 3.50 » Reference'
  11928.  
  11929.  
  11930.  
  11931.     Wall()
  11932.  
  11933.          Simulates a wall
  11934.  
  11935.     Syntax:
  11936.  
  11937.          Wall( [nY1], [nX1], [nY1], [nX2], [cColor] ) -> NIL
  11938.  
  11939.          nY1    : Initial Y coordinate, default is 0
  11940.          nX1    : Initial X, default is 0
  11941.          nY2    : Final Y, default is 24
  11942.          nX2    : Final X, default is 79
  11943.          cColor : The color, optional
  11944.  
  11945.     Description:
  11946.  
  11947.          Draws a wall at the specified coordinates.
  11948.  
  11949.     Return:
  11950.  
  11951.          Nothing.
  11952.  
  11953.     Example:
  11954.  
  11955.          Wall( 1, 1, 20, 51, "W/G" )
  11956.          Wall( , , , , "GR/N" )
  11957.  
  11958.  
  11959.     Warning()
  11960.  
  11961.          Shows a warning at line 24
  11962.  
  11963.     Syntax:
  11964.  
  11965.          Warning( cWarning, [lMode], [cColor] ) -> NIL
  11966.  
  11967.          cWarning : The warning to show
  11968.          lMode    : Optional action mode
  11969.          cColor   : Optional color
  11970.  
  11971.     Description:
  11972.  
  11973.          If lMode is .T. the function displays a msg and waits for a key
  11974.          restoring the screen. If lMode is .F., it doesn't wait for a key nor
  11975.          restores the screen. Default value is .T. Default color is "W/N".
  11976.  
  11977.     Return:
  11978.  
  11979.          Nothing.
  11980.  
  11981.     Example:
  11982.  
  11983.          Warning( "Push any key" )
  11984.          Warning( "Processing, please wait...", .F. )
  11985.  
  11986.                                  - Page 200 -
  11987. Norton Guide: `FAST.lib 3.50 » Reference'
  11988.  
  11989.  
  11990.  
  11991. See Also: "Message()" "Query()" 
  11992.  
  11993.  
  11994.     Window()
  11995.  
  11996.          Shows a window with optional title and shadow
  11997.  
  11998.     Syntax:
  11999.  
  12000.          Window( nY1, nX1, nY2, nX2, [cTitle], cBox, lShadow, ;
  12001.                   [cColor] ) -> NIL
  12002.  
  12003.          nY1     : Upper left Y coordinate
  12004.          nX1     : Upper left X coordinate
  12005.          nY2     : Lower right Y coordinate
  12006.          nX2     : Lower right X coordinate
  12007.          ctitle  : The title, optional
  12008.          cBox    : The box type
  12009.          lShadow : A logical value indicating shadowing
  12010.          cColor  : The color, optional
  12011.  
  12012.     Description:
  12013.  
  12014.          Draws a window at the given coordinates with optional title (no
  12015.          title if ctitle is NIL) and shadowed if lShadow is .T.. The color of
  12016.          the window is cColor or the active color is cColor is NIL.
  12017.  
  12018.     Return:
  12019.  
  12020.          Nothing.
  12021.  
  12022.     Example:
  12023.  
  12024.          Window ( 10, 15, 20, 25, "My title", "╔═╗║╝═╚║ ", .T., "GR+/B" )
  12025.  
  12026. See Also: "NewBox()" 
  12027.  
  12028.  
  12029.  
  12030.  
  12031.  
  12032.  
  12033.  
  12034.  
  12035.  
  12036.  
  12037.  
  12038.  
  12039.  
  12040.  
  12041.  
  12042.  
  12043.  
  12044.  
  12045.                                  - Page 201 -
  12046. Norton Guide: `FAST.lib 3.50 » Reference'
  12047.  
  12048.  
  12049. Menu List: FAST.lib 2, Serial Comunications
  12050.  
  12051.  
  12052.  
  12053.  
  12054.     With this section, serial communications are controlled in Clipper.  The
  12055.  functions are low level and use the Interrupt Driven Service task of the
  12056.  serial ports.
  12057.  
  12058.     These functions manage 4 serial ports, from COM1 to COM4 on AT systems
  12059.  and 2 ports, COM1 and COM2 on XT systems.
  12060.  
  12061.     The system is compatible with all kinds of current UART's existing on
  12062.  the market for PC-XT-AT.  Access to the system is via 8259A, therefore,
  12063.  the BIOS routines are taking charge of the UART'S compatibility.
  12064.  
  12065.     The system has internal and external buffers available (the same kind that
  12066.  the BIOS has available for the keyboard). Thanks to them, we have available
  12067.  in memory the incoming and outgoing data for use when we are ready to receive
  12068.  or send it. The incoming buffer has been established at 16384 bytes and
  12069.  the outgoing buffer at 4096 bytes.
  12070.  
  12071.  ──────────────────────────────────────────────────────────────────────────────
  12072.  
  12073.  
  12074.     ComCarrier()
  12075.  
  12076.          Determines if the Carrier flag is on
  12077.  
  12078.     Syntax:
  12079.  
  12080.          ComCarrier() -> lCarrier
  12081.  
  12082.     Description:
  12083.  
  12084.          Determines if the Carrier flag is active. This flag must be
  12085.          specifically looked at for transmissions or receptions to confirm
  12086.          that the connection is still active. If the carrier is lost, it
  12087.          could indicate that the other end of the communication link has
  12088.          disconnected.
  12089.  
  12090.     Return:
  12091.  
  12092.          .T. if the Carrier flag is on and .F. if not.
  12093.  
  12094.     Example:
  12095.  
  12096.          If ! ComCarrier()
  12097.            Warning( "NO CARRIER" )
  12098.          Else
  12099.            Warning( "CARRIER DETECTED" )
  12100.          EndIf
  12101.  
  12102. See Also: "ComReady()" 
  12103.  
  12104.  
  12105.                                  - Page 202 -
  12106. Norton Guide: `FAST.lib 3.50 » Reference'
  12107.  
  12108.  
  12109.  
  12110.     ComHighDTR()
  12111.  
  12112.          Activates the Data Terminal Ready flag
  12113.  
  12114.     Syntax:
  12115.  
  12116.          ComHighDTR() -> NIL
  12117.  
  12118.     Description:
  12119.  
  12120.          ComHighDTR() activates the Data Terminal Ready (DTR) flag.
  12121.  
  12122.     Return:
  12123.  
  12124.          Nothing.
  12125.  
  12126.     Example:
  12127.  
  12128.          ComHighDTR()           // Activates the Data Terminal Ready flag
  12129.  
  12130. See Also: "ComLowDTR()" 
  12131.  
  12132.  
  12133.     ComIsEmpt()
  12134.  
  12135.          Determines if the reception buffer is empty
  12136.  
  12137.     Syntax:
  12138.  
  12139.          ComInEmpt() -> lEmpty
  12140.  
  12141.     Description:
  12142.  
  12143.          Determines if the internal reception buffer is empty.
  12144.  
  12145.     Return:
  12146.  
  12147.          A logic value indicating if the buffer is empty or not.
  12148.  
  12149.     Example:
  12150.  
  12151.          If ComInEmpt()
  12152.            Warning( "Read buffer is empty" )
  12153.          EndIf
  12154.  
  12155. See Also: "ComOutEmpt()" 
  12156.  
  12157.  
  12158.     ComInFlh()
  12159.  
  12160.          Initializes the reception buffers
  12161.  
  12162.     Syntax:
  12163.  
  12164.  
  12165.                                  - Page 203 -
  12166. Norton Guide: `FAST.lib 3.50 » Reference'
  12167.  
  12168.  
  12169.          ComInFlh() -> NIL
  12170.  
  12171.     Description:
  12172.  
  12173.          Clears and initializes the reception buffer.
  12174.  
  12175.     Return:
  12176.  
  12177.          Nothing.
  12178.  
  12179.     Example:
  12180.  
  12181.          ComInFlh()
  12182.  
  12183. See Also: "ComOutFlh()" 
  12184.  
  12185.  
  12186.     ComInput()
  12187.  
  12188.          Extracts a value from the communications buffer (input)
  12189.  
  12190.     Syntax:
  12191.  
  12192.          ComInput() -> nValue
  12193.  
  12194.     Description:
  12195.  
  12196.          Receives a value from the communications buffer.
  12197.  
  12198.          ComInput() brings up to date the internal pointers of the reception
  12199.          buffer and points to the next value.
  12200.  
  12201.     Return:
  12202.  
  12203.          The ascii value of the received byte from the port or NIL if there's
  12204.          no available byte or the manager isn't active.
  12205.  
  12206.     Example:
  12207.  
  12208.          While .T.
  12209.            If ! ComInEmpt()
  12210.              nValue  := ComInput()
  12211.              cString += Chr( nValue )
  12212.            EndIf
  12213.          End
  12214.  
  12215. See Also: "ComInEmpt()" "ComInputS()" 
  12216.  
  12217.  
  12218.     ComInputS()
  12219.  
  12220.          Extracts a string from the communications buffer (input str)
  12221.  
  12222.     Syntax:
  12223.  
  12224.  
  12225.                                  - Page 204 -
  12226. Norton Guide: `FAST.lib 3.50 » Reference'
  12227.  
  12228.  
  12229.          ComInputS( @cBuffer, nMaxChars ) -> nChars
  12230.  
  12231.          cBuffer   : The buffer where the string is to be placed
  12232.          nMaxChars : The maximum number of chars to read
  12233.  
  12234.     Description:
  12235.  
  12236.          Receives a string from the communications buffer.
  12237.  
  12238.          ComInputS() brings up to date the internal pointers of the reception
  12239.          buffer and points to the next value.
  12240.  
  12241.     Return:
  12242.  
  12243.          The number of chars received from the port or 0 if there's
  12244.          no available byte or the manager isn't active.
  12245.  
  12246.     Example:
  12247.  
  12248.          cBuffer := Space( 1024 )
  12249.          If comInputS( @cSpace, 1024 ) == 1024
  12250.            ? "Read Ok"
  12251.          EndIf
  12252.  
  12253. See Also: "ComInEmpt()" "ComInput()" 
  12254.  
  12255.  
  12256.     ComInst()
  12257.  
  12258.          Installs a Serial Communications System
  12259.  
  12260.     Syntax:
  12261.  
  12262.          ComInst( nPort ) -> nError
  12263.  
  12264.          nPort : COM port. 1=COM1, 2=COM2, 3=COM3 and 4=COM4
  12265.  
  12266.     Description:
  12267.  
  12268.          ComInst() installs a Serial Communications System and initializes
  12269.          the communication buffers.
  12270.  
  12271.          DANGER
  12272.          The interrupt manager must be uninstalled by the ComUnInst()
  12273.          function before you leave the system.  Otherwise, it will cause a
  12274.          general break down in the system.
  12275.  
  12276.     Return:
  12277.  
  12278.          A number with the following meanings:
  12279.  
  12280.            0    Ok
  12281.            1    A port out of the range 1-4 was specified
  12282.            2    There's no UART for the specified port
  12283.            3    The manager was already installed
  12284.  
  12285.                                  - Page 205 -
  12286. Norton Guide: `FAST.lib 3.50 » Reference'
  12287.  
  12288.  
  12289.  
  12290.     Example:
  12291.  
  12292.          ComInst( 2 )           // installs the manager on COM2
  12293.  
  12294. See Also: "ComUnInst()" 
  12295.  
  12296.  
  12297.     ComLowDTR()
  12298.  
  12299.          Deactivates the Data Terminal Ready flag
  12300.  
  12301.     Syntax:
  12302.  
  12303.          ComLowDTR() -> NIL
  12304.  
  12305.     Description:
  12306.  
  12307.          ComLowDTR() deactivates the Data Terminal Ready (DTR) flag.
  12308.  
  12309.     Return:
  12310.  
  12311.          Nothing.
  12312.  
  12313.     Example:
  12314.  
  12315.          ComLowDTR()           // Deactivates the Data Terminal Ready flag
  12316.  
  12317. See Also: "ComHighDTR()" 
  12318.  
  12319.  
  12320.     ComOutput()
  12321.  
  12322.          Stuffs a value into the communications buffer (output)
  12323.  
  12324.     Syntax:
  12325.  
  12326.          ComOutput( nValue ) -> NIL
  12327.  
  12328.     Description:
  12329.  
  12330.          Sends a value to the communications buffer.
  12331.  
  12332.          The function brings up to date the internal pointers to the
  12333.          transmission buffer to point to the next element.
  12334.  
  12335.     Return:
  12336.  
  12337.          Nothing.
  12338.  
  12339.     Example:
  12340.  
  12341.          While ComReady()
  12342.            ComOutput( 32 )              // sends blank spaces to the port
  12343.          End
  12344.  
  12345.                                  - Page 206 -
  12346. Norton Guide: `FAST.lib 3.50 » Reference'
  12347.  
  12348.  
  12349.  
  12350. See Also: "ComOutEmpt()" "ComOutputS()" "ComReady()" 
  12351.  
  12352.  
  12353.     ComOutputS()
  12354.  
  12355.          Stuffs a string into the communications buffer (output str)
  12356.  
  12357.     Syntax:
  12358.  
  12359.          ComOutputS( cString ) -> NIL
  12360.  
  12361.     Description:
  12362.  
  12363.          Sends a string to the communications buffer.
  12364.  
  12365.          This function brings up to date the internal pointers to the
  12366.          transmission buffer to point to the next element.
  12367.  
  12368.     Return:
  12369.  
  12370.          Nothing.
  12371.  
  12372.     Example:
  12373.  
  12374.          ComOutputS( "Most people like parties" )
  12375.  
  12376. See Also: "ComOutEmpt()" "ComOutput()" "ComReady()" 
  12377.  
  12378.  
  12379.     ComOutEmpt()
  12380.  
  12381.          Determines if the transmission buffer is empty
  12382.  
  12383.     Syntax:
  12384.  
  12385.          ComOutEmpt() -> lEmpty
  12386.  
  12387.     Description:
  12388.  
  12389.          Determines if the internal transmission buffer is empty.
  12390.  
  12391.     Return:
  12392.  
  12393.          A logic value indicating if the buffer is empty or not.
  12394.  
  12395.     Example:
  12396.  
  12397.          If ComOutEmpt()
  12398.            Warning( "Write buffer is empty" )
  12399.          EndIf
  12400.  
  12401. See Also: "ComInEmpt()" 
  12402.  
  12403.  
  12404.  
  12405.                                  - Page 207 -
  12406. Norton Guide: `FAST.lib 3.50 » Reference'
  12407.  
  12408.  
  12409.     ComOutFlh()
  12410.  
  12411.          Initializes the transmission buffers
  12412.  
  12413.     Syntax:
  12414.  
  12415.          ComOutFlh() -> NIL
  12416.  
  12417.     Description:
  12418.  
  12419.          Clears and initializes the transmission buffer.
  12420.  
  12421.     Return:
  12422.  
  12423.          Nothing.
  12424.  
  12425.     Example:
  12426.  
  12427.          ComOutFlh()
  12428.  
  12429. See Also: "ComInFlh()" 
  12430.  
  12431.  
  12432.     ComParity()
  12433.  
  12434.          Determines the communication parity
  12435.  
  12436.     Syntax:
  12437.  
  12438.          ComParity( nParity ) -> NIL
  12439.  
  12440.          nParity : A parity type.
  12441.  
  12442.                       0  or  COM_NONE
  12443.                       1  or  COM_EVEN
  12444.                       2  or  COM_ODD
  12445.                       3  or  COM_ZERO
  12446.                       4  or  COM_ONE
  12447.  
  12448.                    Defined in Fast.ch
  12449.  
  12450.     Description:
  12451.  
  12452.          ComParity() determines the communication parity.
  12453.  
  12454.     Return:
  12455.  
  12456.          Nothing.
  12457.  
  12458.     Example:
  12459.  
  12460.          ComParity( COM_NONE )          // without parity
  12461.  
  12462. See Also: "ComSpeed()" 
  12463.  
  12464.  
  12465.                                  - Page 208 -
  12466. Norton Guide: `FAST.lib 3.50 » Reference'
  12467.  
  12468.  
  12469.  
  12470.     ComReady()
  12471.  
  12472.          Determines if the system is ready to transmit
  12473.  
  12474.     Syntax:
  12475.  
  12476.          ComReady() -> lReady
  12477.  
  12478.     Description:
  12479.  
  12480.          Determines if the system is ready to transmit. This depends on the
  12481.          interrupt manager being active and that the transmission spooler
  12482.          isn't full.
  12483.  
  12484.     Return:
  12485.  
  12486.          A logic value indicating if system is ready to transmit
  12487.  
  12488.     Example:
  12489.  
  12490.          If ComReady()
  12491.            Warning( "System Ok" )
  12492.          EndIf
  12493.  
  12494. See Also: "ComCarrier()" 
  12495.  
  12496.  
  12497.     ComSpeed()
  12498.  
  12499.          Determines the communication speed
  12500.  
  12501.     Syntax:
  12502.  
  12503.          ComSpeed( nSpeed ) -> NIL
  12504.  
  12505.          nSpeed : Communication speed
  12506.  
  12507.     Description:
  12508.  
  12509.          ComSpeed() determines the communication speed.
  12510.  
  12511.     Return:
  12512.  
  12513.          Nothing.
  12514.  
  12515.     Example:
  12516.  
  12517.          ComSpeed( 2400 )     // 2400 bps
  12518.  
  12519. See Also: "ComParity()" 
  12520.  
  12521.  
  12522.     ComUnInst()
  12523.  
  12524.  
  12525.                                  - Page 209 -
  12526. Norton Guide: `FAST.lib 3.50 » Reference'
  12527.  
  12528.  
  12529.          Uninstalls the Serial Communications System
  12530.  
  12531.     Syntax:
  12532.  
  12533.          ComUnInst() -> NIL
  12534.  
  12535.     Description:
  12536.  
  12537.          ComUnInst() Uninstalls the Serial Communications System.
  12538.  
  12539.          This must always be called before you leave the system if you
  12540.          have previously activated the interrupts manager with ComInst().
  12541.  
  12542.     Return:
  12543.  
  12544.          Nothing.
  12545.  
  12546.     Example:
  12547.  
  12548.          ComUnInst()
  12549.  
  12550. See Also: "ComInst()" 
  12551.  
  12552.  
  12553.     CRC32()
  12554.  
  12555.          Returns a CRC32 polynomial of a block as PKZIP
  12556.  
  12557.     Syntax:
  12558.  
  12559.          CRC32( cBlock ) -> cCRC
  12560.  
  12561.          cBlock  : The block to calculate
  12562.  
  12563.     Description:
  12564.  
  12565.          Calculates a CRC32 bit polynomial of a character or memo value.
  12566.  
  12567.     Return:
  12568.  
  12569.          A character value with the CRC.
  12570.  
  12571.     Example:
  12572.  
  12573.          ? CRC32( "Hello" )                   // e.g. edb88320h
  12574.          ? CRC32( MemoRead( "Fast.txt" ) )    // e.g. feda3139h
  12575.  
  12576. See Also: "XCRC16()" 
  12577.  
  12578.  
  12579.     Dial()
  12580.  
  12581.          Dials a phone number with the modem
  12582.  
  12583.     Syntax:
  12584.  
  12585.                                  - Page 210 -
  12586. Norton Guide: `FAST.lib 3.50 » Reference'
  12587.  
  12588.  
  12589.  
  12590.          Dial( cPort, cNumber [, cDial] ) -> lError
  12591.  
  12592.          cPort   : The port where the modem is found.
  12593.          cNumber : The phone number.
  12594.          cDial   : The dialing string.
  12595.  
  12596.     Description:
  12597.  
  12598.          Dials a phone number with the modem. Don't forget to hang up
  12599.          at the end of each phone call and before you dial again.
  12600.  
  12601.          The default port is "COM1" and the dialing string by default is
  12602.          "ATDP" to call by pulses. Write "ATDT" to call by tones.
  12603.  
  12604.     Return:
  12605.  
  12606.          If there's any error returns .F. if not, returns .T.
  12607.  
  12608.     Example:
  12609.  
  12610.          ? "Dialing..."
  12611.          Dial( "COM2", "94,4992660" )
  12612.          Inkey (0)
  12613.          ? "Hangup"
  12614.          Hangup( "COM2" )
  12615.  
  12616. See Also: "Hangup()" 
  12617.  
  12618.  
  12619.     GetBaud()
  12620.  
  12621.          Returns the baud rate of a COM port
  12622.  
  12623.     Syntax:
  12624.  
  12625.          GetBaud( nPort ) -> nBaudRate
  12626.  
  12627.          nPort : The port number: 0=COM1, 1=COM2, 2=COM3, 3=COM4
  12628.  
  12629.     Description:
  12630.  
  12631.          Returns the baud rate of a COM port. For example, a port configured
  12632.          by a mouse driver will return 1200, for modem, 2400, 9600, ...
  12633.  
  12634.     Return:
  12635.  
  12636.          A number with the baud rate.
  12637.  
  12638.     Example:
  12639.  
  12640.          ? GetBaud( 0 )                        // COM1
  12641.  
  12642.  
  12643.     Hangup()
  12644.  
  12645.                                  - Page 211 -
  12646. Norton Guide: `FAST.lib 3.50 » Reference'
  12647.  
  12648.  
  12649.  
  12650.          Hangs up the phone
  12651.  
  12652.     Syntax:
  12653.  
  12654.          Hangup( cPort [, cHangup] ) -> lError
  12655.  
  12656.          cPort   : The port where the modem is found.
  12657.          cHangup : The string to send to the modem.
  12658.  
  12659.     Description:
  12660.  
  12661.          Hangs up the phone.  Don't forget to hang up at the end of each
  12662.          phone call. The default port is "COM1" and the default Hangup
  12663.          String is "+++ATH0".
  12664.  
  12665.     Return:
  12666.  
  12667.          If there's any error returns .F. if not, returns .T.
  12668.  
  12669.     Example:
  12670.  
  12671.          ? "Dialing..."
  12672.          Dial ( "COM2", "94,4992660", "ATB0DP" )
  12673.          Inkey (0)
  12674.          ? "Hangup"
  12675.          Hangup ( "COM2", "+++ATH0" )
  12676.  
  12677. See Also: "Dial()" 
  12678.  
  12679.  
  12680.     XCRC16()
  12681.  
  12682.          Returns a CRC16 polynomial of a block as XMODEM/ZMODEM
  12683.  
  12684.     Syntax:
  12685.  
  12686.          XCRC16( nPrevious, cBlock ) -> nCRC16
  12687.  
  12688.          nPrevious : The previous CRC16 value or 0
  12689.          cBlock    : The block to calculate
  12690.  
  12691.     Description:
  12692.  
  12693.          Calculates a CRC16 bit polynomial of a character or memo value.
  12694.  
  12695.     Return:
  12696.  
  12697.          A numeric value with the CRC.
  12698.  
  12699.     Example:
  12700.  
  12701.          nCRC := XCRC16( 0,    SPACE( 1000 ) )
  12702.          // CRC calculated,
  12703.          // now, other block
  12704.  
  12705.                                  - Page 212 -
  12706. Norton Guide: `FAST.lib 3.50 » Reference'
  12707.  
  12708.  
  12709.          nCRC := XCRC16( nCRC, SPACE( 1000 ) )
  12710.  
  12711. See Also: "CRC32()" 
  12712.  
  12713.  
  12714.  
  12715.  
  12716.  
  12717.  
  12718.  
  12719.  
  12720.  
  12721.  
  12722.  
  12723.  
  12724.  
  12725.  
  12726.  
  12727.  
  12728.  
  12729.  
  12730.  
  12731.  
  12732.  
  12733.  
  12734.  
  12735.  
  12736.  
  12737.  
  12738.  
  12739.  
  12740.  
  12741.  
  12742.  
  12743.  
  12744.  
  12745.  
  12746.  
  12747.  
  12748.  
  12749.  
  12750.  
  12751.  
  12752.  
  12753.  
  12754.  
  12755.  
  12756.  
  12757.  
  12758.  
  12759.  
  12760.  
  12761.  
  12762.  
  12763.  
  12764.                                  - Page 213 -
  12765. Norton Guide: `FAST.lib 3.50 » Reference'
  12766.  
  12767.  
  12768. Menu List: FAST.lib 2, CD-Audio SB DAC Speaker
  12769.  
  12770.  
  12771.  
  12772.  
  12773.     A new horizon is opening up for Clipper. The power of sound from within
  12774.  our applications is now possible.  Advise your users with sounds for
  12775.  errors, warnings, etc.  Let your imagination run wild.  Lets go to
  12776.  multimedia naturally with Clipper.
  12777.  
  12778.     In version 2.00 the ability for sound in Clipper was given.  In that
  12779.  version there was only support for Sound Blaster and Sound Blaster Pro.
  12780.  Since then I received lots of petitions to extend this subsystem to the
  12781.  Parallel DAC and the Speaker.
  12782.  
  12783.     Now we break that wall and give you the possibility to generate sound by
  12784.  the parallel DAC and by the speaker.  Not everybody has a Sound Blaster, but
  12785.  a speaker is on every machine.
  12786.  
  12787.     The maximum frequency depends on the speed of the processor and the
  12788.  drivers in memory.
  12789.  
  12790.     The most difficult part of sound generation have two aspects.  The first
  12791.  is the sparse information about sound formats. The second is the VMM
  12792.  system stopping while the sound functions execute.  Compatabilty has been
  12793.  achieved with the Sound Blaster, but not yet during DAC and speaker functions
  12794.  where the dear VMM pauses in silence.
  12795.  
  12796.  ──────────────────────────────────────────────────────────────────────────────
  12797.  
  12798.  
  12799.     cdDrive()
  12800.  
  12801.          Returns the logical name of the CD unit
  12802.  
  12803.     Syntax:
  12804.  
  12805.          cdDrive() -> cName
  12806.  
  12807.     Description:
  12808.  
  12809.          Returns a string value with the name of the CD unit
  12810.  
  12811.     Return:
  12812.  
  12813.          A string value.
  12814.  
  12815.     Example:
  12816.  
  12817.          ? cdDrive()          // "E:"
  12818.  
  12819.  
  12820.     cdEject()
  12821.  
  12822.          Ejects the CD disk
  12823.  
  12824.                                  - Page 214 -
  12825. Norton Guide: `FAST.lib 3.50 » Reference'
  12826.  
  12827.  
  12828.  
  12829.     Syntax:
  12830.  
  12831.          cdEject() -> NIL
  12832.  
  12833.     Description:
  12834.  
  12835.          Ejects the CD. If the CD is playing the call is ignored.
  12836.  
  12837.     Return:
  12838.  
  12839.          Nothing.
  12840.  
  12841.     Example:
  12842.  
  12843.          cdPlay()
  12844.          ? "Press any key to stop the CD"
  12845.          Inkey( 0 )
  12846.          cdStop()
  12847.          cdEject()
  12848.  
  12849. See Also: "cdStop()" "cdPlay()" "cdResume()" 
  12850.  
  12851.  
  12852.     cdInfo()
  12853.  
  12854.          Returns the contents of a CD disk
  12855.  
  12856.     Syntax:
  12857.  
  12858.          cdInfo() -> aSongs
  12859.  
  12860.     Description:
  12861.  
  12862.          Returns the contents of a CD disk. If the CD is playing the
  12863.          call is ignored.
  12864.  
  12865.     Return:
  12866.  
  12867.          An array with the songs of the CD disk.
  12868.  
  12869.     Example:
  12870.  
  12871.          aSongs := cdInfo()
  12872.          For nInd := 1 To Len( aSongs )
  12873.            ? aSongs[ nInd ]
  12874.          Next
  12875.  
  12876.  
  12877.     cdInstall()
  12878.  
  12879.          Determines if a CD is installed
  12880.  
  12881.     Syntax:
  12882.  
  12883.  
  12884.                                  - Page 215 -
  12885. Norton Guide: `FAST.lib 3.50 » Reference'
  12886.  
  12887.  
  12888.          cdInstall() -> lInstall
  12889.  
  12890.     Description:
  12891.  
  12892.          Returns a logic indicating if a CD is installed.
  12893.  
  12894.     Return:
  12895.  
  12896.          A logic value.
  12897.  
  12898.     Example:
  12899.  
  12900.          if ! cdInstall()
  12901.            ? "Oh!! no CD detected"
  12902.          endif
  12903.  
  12904.  
  12905.     cdPlay()
  12906.  
  12907.          Starts the CD
  12908.  
  12909.     Syntax:
  12910.  
  12911.          cdPlay( nSong ) -> NIL
  12912.  
  12913.          nSong : A number with the song to play
  12914.  
  12915.     Description:
  12916.  
  12917.          Starts the CD. If the CD is playing the call is ignored.
  12918.  
  12919.     Return:
  12920.  
  12921.          Nothing.
  12922.  
  12923.     Example:
  12924.  
  12925.          cdPlay()
  12926.          ? "Press any key to stop the CD"
  12927.          Inkey( 0 )
  12928.          cdStop()
  12929.  
  12930. See Also: "cdEject()" "cdStop()" "cdResume()" 
  12931.  
  12932.  
  12933.     cdResume()
  12934.  
  12935.          Resumes playing a CD after a pause
  12936.  
  12937.     Syntax:
  12938.  
  12939.          cdResume() -> NIL
  12940.  
  12941.     Description:
  12942.  
  12943.  
  12944.                                  - Page 216 -
  12945. Norton Guide: `FAST.lib 3.50 » Reference'
  12946.  
  12947.  
  12948.          Resumes playing a CD after a pause. If the CD is not stopped the call
  12949.          is ignored.
  12950.  
  12951.     Return:
  12952.  
  12953.          Nothing.
  12954.  
  12955.     Example:
  12956.  
  12957.          cdPlay()
  12958.          ? "Press any key to stop the CD"
  12959.          Inkey( 0 )
  12960.          cdStop()
  12961.          ? "Press any key to continue"
  12962.          Inkey( 0 )
  12963.          cdResume()
  12964.  
  12965. See Also: "cdEject()" "cdPlay()" "cdStop()" 
  12966.  
  12967.  
  12968.     cdStatus()
  12969.  
  12970.          Determines the status of a CD unit
  12971.  
  12972.     Syntax:
  12973.  
  12974.          cdStatus() -> nError
  12975.  
  12976.     Description:
  12977.  
  12978.          Determines the status of a CD unit.
  12979.  
  12980.     Return:
  12981.  
  12982.          A numeric value indicating an error or 0 if everything is OK.
  12983.  
  12984.     Example:
  12985.  
  12986.          ? cdStatus()
  12987.  
  12988.  
  12989.     cdStop()
  12990.  
  12991.          Stops or pauses the CD
  12992.  
  12993.     Syntax:
  12994.  
  12995.          cdStop() -> NIL
  12996.  
  12997.     Description:
  12998.  
  12999.          Stops or pauses the CD. If the CD is not playing the call
  13000.          is ignored.
  13001.  
  13002.     Return:
  13003.  
  13004.                                  - Page 217 -
  13005. Norton Guide: `FAST.lib 3.50 » Reference'
  13006.  
  13007.  
  13008.  
  13009.          Nothing.
  13010.  
  13011.     Example:
  13012.  
  13013.          cdPlay()
  13014.          ? "Press any key to stop the CD"
  13015.          Inkey( 0 )
  13016.          cdStop()
  13017.  
  13018. See Also: "cdPlay()" "cdResume()" 
  13019.  
  13020.  
  13021.     dacVocPlay()
  13022.  
  13023.          Plays a file with VOC format by a parallel DAC
  13024.  
  13025.     Syntax:
  13026.  
  13027.          dacVocPlay( cFile, [nRate], [lKey] ) -> lError
  13028.  
  13029.          cFile : The VOC file name.
  13030.          nRate : The frequency ratio. Default value is 12000 Hz.
  13031.                  Use this value for frequency changes.
  13032.          lKey  : A logic value indicating if the sound must be stoped if
  13033.                  the user press any key. By default .F. indicating no stop.
  13034.  
  13035.     Description:
  13036.  
  13037.          Plays a file with VOC format by a parallel DAC.
  13038.  
  13039.     Return:
  13040.  
  13041.          A logic value indicating if the function finished without error
  13042.  
  13043.     Example:
  13044.  
  13045.          dacVocPlay( "Luna.Voc", 13224 )
  13046.  
  13047. See Also: "dacWavPlay()" 
  13048.  
  13049.  
  13050.     dacWavPlay()
  13051.  
  13052.          Plays a file with WAV format by a parallel DAC
  13053.  
  13054.     Syntax:
  13055.  
  13056.          dacWavPlay( cFile, [nRate], [lKey] ) -> lError
  13057.  
  13058.          cFile : The name of the file WAV
  13059.          nRate : The frequency ratio. Default value is 12000 Hz.
  13060.                  Use this value for frequency changes.
  13061.          lKey  : A logic value indicating if the sound must be stoped if
  13062.                  the user press any key. By default .F. indicating no stop.
  13063.  
  13064.                                  - Page 218 -
  13065. Norton Guide: `FAST.lib 3.50 » Reference'
  13066.  
  13067.  
  13068.  
  13069.     Description:
  13070.  
  13071.           Plays a file with WAV format by a parallel DAC.
  13072.  
  13073.     Return:
  13074.  
  13075.          A logic value indicating if the function finished with error
  13076.  
  13077.     Example:
  13078.  
  13079.          dacWavPlay( "Luna.Wav", 13224 )
  13080.  
  13081. See Also: "dacVocPlay()" 
  13082.  
  13083.  
  13084.     dacPort()
  13085.  
  13086.          Determines the parallel port where the DAC is connected
  13087.  
  13088.     Syntax:
  13089.  
  13090.          dacPort( nPort ) -> nOldPort
  13091.  
  13092.          nPort : The number indicating the parallel port. Value 1 indicates
  13093.                  LPT1 and 2 indicates LPT2.
  13094.  
  13095.     Description:
  13096.  
  13097.          Determines the parallel port where the DAC is connected.
  13098.          Default port is LPT1.
  13099.  
  13100.     Return:
  13101.  
  13102.          The numeric port number the DAC is connected to.
  13103.  
  13104.     Example:
  13105.  
  13106.          dacPort( 2 )           // Now everything will go to LPT2
  13107.  
  13108.  
  13109.     MSCDESVer()
  13110.  
  13111.          Returns the version of MSCDEX
  13112.  
  13113.     Syntax:
  13114.  
  13115.          MSCDEXVer() -> cVersion
  13116.  
  13117.     Description:
  13118.  
  13119.          Returns a string value with the version of MSCDEX
  13120.  
  13121.     Return:
  13122.  
  13123.  
  13124.                                  - Page 219 -
  13125. Norton Guide: `FAST.lib 3.50 » Reference'
  13126.  
  13127.  
  13128.          A string value.
  13129.  
  13130.     Example:
  13131.  
  13132.          ? MSCDEXVer()      // "02.20"
  13133.  
  13134.  
  13135.     sbCDVolL()
  13136.  
  13137.          Gets/Sets the left volume level of the CD. Only in SB Pro.
  13138.  
  13139.     Syntax:
  13140.  
  13141.          sbCDVolL( [nNewVol] ) -> nVol
  13142.  
  13143.          nNewVol : The new volume level bettwen 0 and 15.
  13144.  
  13145.     Description:
  13146.  
  13147.          Gets/Sets the left volume set up for the CD on the system if this's
  13148.          present.
  13149.  
  13150.     Return:
  13151.  
  13152.         A numeric value showing the volume bettwen 0 and 15.
  13153.  
  13154.     Example:
  13155.  
  13156.          ? sbCDVolL()
  13157.  
  13158. See Also: "sbCDVolR()" 
  13159.  
  13160.  
  13161.     sbCDVolR()
  13162.  
  13163.          Gets/Sets the right volume level of the CD. Only in SB Pro.
  13164.  
  13165.     Syntax:
  13166.  
  13167.          sbCDVolR( [nNewVol] ) -> nVol
  13168.  
  13169.          nNewVol : The new volume level bettwen 0 and 15.
  13170.  
  13171.     Description:
  13172.  
  13173.          Gets/Sets the right volume set up for the CD on the system if this's
  13174.          present.
  13175.  
  13176.     Return:
  13177.  
  13178.         A numeric value showing the volume bettwen 0 and 15.
  13179.  
  13180.     Example:
  13181.  
  13182.          ? sbCDVolR()
  13183.  
  13184.                                  - Page 220 -
  13185. Norton Guide: `FAST.lib 3.50 » Reference'
  13186.  
  13187.  
  13188.  
  13189. See Also: "sbCDVolL()" 
  13190.  
  13191.  
  13192.     sbFMVolL()
  13193.  
  13194.          Gets/Sets the left volume level
  13195.  
  13196.     Syntax:
  13197.  
  13198.          sbFMVolL( [nNewVol] ) -> nVol
  13199.  
  13200.          nNewVol : The new volume level bettwen 0 and 15.
  13201.  
  13202.     Description:
  13203.  
  13204.          Gets/Sets the volume level of the left channel in the Sound Blaster.
  13205.  
  13206.     Return:
  13207.  
  13208.          A numeric value showing the volume bettwen 0 and 15.
  13209.  
  13210.     Example:
  13211.  
  13212.          ? sbFMVolL()
  13213.  
  13214. See Also: "sbFMVolR()" 
  13215.  
  13216.  
  13217.     sbFMVolR()
  13218.  
  13219.          Gets/Sets the right volume level
  13220.  
  13221.     Syntax:
  13222.  
  13223.          sbFMVolR( [nNewVol] ) -> nVol
  13224.  
  13225.          nNewVol : The new volume level bettwen 0 and 15.
  13226.  
  13227.     Description:
  13228.  
  13229.          Gets/Sets the volume level of the right channel in the Sound Blaster.
  13230.  
  13231.     Return:
  13232.  
  13233.          A numeric value showing the volume bettwen 0 and 15.
  13234.  
  13235.     Example:
  13236.  
  13237.          ? sbFMVolR()
  13238.  
  13239. See Also: "sbFMVolL()" 
  13240.  
  13241.  
  13242.     sbInit()
  13243.  
  13244.                                  - Page 221 -
  13245. Norton Guide: `FAST.lib 3.50 » Reference'
  13246.  
  13247.  
  13248.  
  13249.          Initiates the Sound Blaster and determines it's presence
  13250.  
  13251.     Syntax:
  13252.  
  13253.          sbInit() -> lError
  13254.  
  13255.     Description:
  13256.  
  13257.          Initiates the Sound Blaster and/or Sound Blaster Pro and determines
  13258.          it's presence giving back a logic.
  13259.  
  13260.          Remember that before calling this function you have to set up the
  13261.          IRQ and IO Address if the values you have set up on your system are
  13262.          not the default.  This means that if the IRQ is NOT 7h or the IO
  13263.          Address is NOT 220h.  Use the functions sbIO() and sbIRQ().
  13264.  
  13265.     Return:
  13266.  
  13267.          A logic value indicating if the Sound Blaster is available on the
  13268.          system at the IRQ and IO Address specified.
  13269.  
  13270.     Example:
  13271.  
  13272.          If sbInit()
  13273.            ? "There's a Sound Blaster Card"
  13274.          EndIf
  13275.  
  13276. See Also: "sbIO()" "sbIRQ()" 
  13277.  
  13278.  
  13279.     sbIO()
  13280.  
  13281.          Returns and/or modifies the SB IO Address
  13282.  
  13283.     Syntax:
  13284.  
  13285.          sbIO( nNewAddr ) -> nAddress
  13286.  
  13287.          nNewAddr : The new address the Sound Blaster is configured for.
  13288.                     Remember that the value must be introduced in decimal,
  13289.                     translate the hexadecimal to decimal.
  13290.  
  13291.     Description:
  13292.  
  13293.          Returns and/or modifies the IO Address of the Sound Blaster. If
  13294.          null the Sound Blaster default address is 220h, but this value can
  13295.          be modified by the switches on the card.  Check the Sound Blaster
  13296.          Input/Output Address and modify this function to that address.
  13297.  
  13298.     Return:
  13299.  
  13300.          A numeric value showing the actual IO address.
  13301.  
  13302.     Example:
  13303.  
  13304.                                  - Page 222 -
  13305. Norton Guide: `FAST.lib 3.50 » Reference'
  13306.  
  13307.  
  13308.  
  13309.          ? sbIO()               // Probably Returns 220h in decimal
  13310.  
  13311. See Also: "sbIRQ()" 
  13312.  
  13313.  
  13314.     sbIRQ()
  13315.  
  13316.          Returns and/or modifies the IRQ of the SB
  13317.  
  13318.     Syntax:
  13319.  
  13320.          sbIRQ( nNewIRQ ) -> nIRQ
  13321.  
  13322.          nNewIRQ : The new IRQ that the Sound Blaster is configured for.
  13323.                    Remember that the value must be introduced in decimal,
  13324.                    translate the hexadecimal to decimal.
  13325.  
  13326.     Description:
  13327.  
  13328.          Returns and/or modifies the IRQ of the Sound Blaster. If Null the
  13329.          Sound Blaster defaults to IRQ 7h, that means that, assume the
  13330.          interruption 08h+07h = 0fh but this value can be modify by
  13331.          the switches on the card.
  13332.  
  13333.          Check for which IRQ your Sound Blaster has been configured
  13334.          and adjust this function to that IRQ.
  13335.  
  13336.     Return:
  13337.  
  13338.          A numerical value indicating the present IRQ
  13339.  
  13340.     Example:
  13341.  
  13342.          ? sbIRQ( 5 )    // Update the IRQ to 5 and Returns the previous
  13343.  
  13344. See Also: "sbIO()" 
  13345.  
  13346.  
  13347.     sbLineVolL()
  13348.  
  13349.          Gets/Sets the left volumn Level
  13350.  
  13351.     Syntax:
  13352.  
  13353.          sbLineVolL( [nNewVol] ) -> nVol
  13354.  
  13355.          nNewVol : The new volume level bettwen 0 and 15.
  13356.  
  13357.     Description:
  13358.  
  13359.          Gets/Sets the volume level established in the left channel
  13360.          of the Sound Blaster.
  13361.  
  13362.     Return:
  13363.  
  13364.                                  - Page 223 -
  13365. Norton Guide: `FAST.lib 3.50 » Reference'
  13366.  
  13367.  
  13368.  
  13369.          A numerical value indicating the volume bettwen 0 and 15.
  13370.  
  13371.     Example:
  13372.  
  13373.          ? sbLineVolL()
  13374.  
  13375. See Also: "sbLineVolR()" 
  13376.  
  13377.  
  13378.     sbLineVolR()
  13379.  
  13380.          Gets/Sets the right volume level
  13381.  
  13382.     Syntax:
  13383.  
  13384.          sbLineVolR( [nNewVol] ) -> nVol
  13385.  
  13386.          nNewVol : The new volume level bettwen 0 and 15.
  13387.  
  13388.     Description:
  13389.  
  13390.          Gets/Sets the volume level established in the right channel
  13391.          of the Sound Blaster.
  13392.  
  13393.     Return:
  13394.  
  13395.          A numerical value indicating the volume bettwen 0 and 15.
  13396.  
  13397.     Example:
  13398.  
  13399.          ? sbLineVolR()
  13400.  
  13401. See Also: "sbLineVolL()" 
  13402.  
  13403.  
  13404.    sbMastVolL()
  13405.  
  13406.          Gets/Sets the Master left volume level
  13407.  
  13408.     Syntax:
  13409.  
  13410.          sbMastVolL( [nNewVol] ) -> nVol
  13411.  
  13412.          nNewVol : The new volume level bettwen 0 and 15.
  13413.  
  13414.     Description:
  13415.  
  13416.          Gets/Sets the Master volume level established in the left channel
  13417.          of the Sound Blaster.
  13418.  
  13419.     Return:
  13420.  
  13421.          A numerical value indicating the volume bettwen 0 and 15.
  13422.  
  13423.  
  13424.                                  - Page 224 -
  13425. Norton Guide: `FAST.lib 3.50 » Reference'
  13426.  
  13427.  
  13428.     Example:
  13429.  
  13430.          ? sbMastVolL()
  13431.  
  13432. See Also: "sbMastVolR()" 
  13433.  
  13434.  
  13435.     sbMastVolR()
  13436.  
  13437.          Gets/Sets the Master right volume level
  13438.  
  13439.     Syntax:
  13440.  
  13441.          sbMastVolR( [nNewVol] ) -> nVol
  13442.  
  13443.          nNewVol : The new volume level bettwen 0 and 15.
  13444.  
  13445.     Description:
  13446.  
  13447.          Gets/Sets the Master volume level established in the right channel
  13448.          of the Sound Blaster.
  13449.  
  13450.     Return:
  13451.  
  13452.          A numerical value indicating the volume bettwen 0 and 15.
  13453.  
  13454.     Example:
  13455.  
  13456.          ? sbMastVolR()
  13457.  
  13458. See Also: "sbMastVolL()" 
  13459.  
  13460.  
  13461.     sbRecScrL()
  13462.  
  13463.          Gets/Sets the left volume level of the recording
  13464.  
  13465.     Syntax:
  13466.  
  13467.          sbRecScrL( [nNewVol] ) -> nVol
  13468.  
  13469.          nNewVol : The new volume level bettwen 0 and 15.
  13470.  
  13471.     Description:
  13472.  
  13473.          Gets/Sets the recording left volume level established in the
  13474.          Sound Blaster.
  13475.  
  13476.     Return:
  13477.  
  13478.          A numerical value indicating the volume bettwen 0 and 15.
  13479.  
  13480.     Example:
  13481.  
  13482.          ? sbRecScrL()
  13483.  
  13484.                                  - Page 225 -
  13485. Norton Guide: `FAST.lib 3.50 » Reference'
  13486.  
  13487.  
  13488.  
  13489. See Also: "sbRecScrR()" 
  13490.  
  13491.  
  13492.     sbRecScrR()
  13493.  
  13494.          Gets/Sets the right volume level of the recording
  13495.  
  13496.     Syntax:
  13497.  
  13498.          sbRecScrR( [nNewVol] ) -> nVol
  13499.  
  13500.          nNewVol : The new volume level bettwen 0 and 15.
  13501.  
  13502.     Description:
  13503.  
  13504.          Gets/Sets the recording right volume level established in the
  13505.          Sound Blaster.
  13506.  
  13507.     Return:
  13508.  
  13509.          A numerical value indicating the volume bettwen 0 and 15.
  13510.  
  13511.     Example:
  13512.  
  13513.          ? sbRecScrR()
  13514.  
  13515. See Also: "sbRecScrL()" 
  13516.  
  13517.  
  13518.     sbVocPlay()
  13519.  
  13520.          Plays a file with VOC format by the Sound Blaster
  13521.  
  13522.     Syntax:
  13523.  
  13524.          sbVocPlay( cFile, [nRate], [lKey] ) -> lError
  13525.  
  13526.          cFile : The name of the VOC file
  13527.          nRate : The frequency ratio. Default value is 12000 Hz.
  13528.                  Use this value for frequency changes.
  13529.          lKey  : A logic value indicating if the sound must be stoped if
  13530.                  the user press any key. By default .F. indicating no stop.
  13531.  
  13532.     Description:
  13533.  
  13534.          Plays a file with VOC format by the Sound Blaster.
  13535.  
  13536.     Return:
  13537.  
  13538.          A logic value indicating if the function finished without error
  13539.  
  13540.     Example:
  13541.  
  13542.          sbVocPlay( "Fast.Voc", 13224 )
  13543.  
  13544.                                  - Page 226 -
  13545. Norton Guide: `FAST.lib 3.50 » Reference'
  13546.  
  13547.  
  13548.  
  13549. See Also: "sbWavPlay()" 
  13550.  
  13551.  
  13552.     sbVocVolL()
  13553.  
  13554.          Gets/Sets the left VOC volume level
  13555.  
  13556.     Syntax:
  13557.  
  13558.          sbVocVolL( [nNewVol] ) -> nVol
  13559.  
  13560.          nNewVol : The new volume level bettwen 0 and 15.
  13561.  
  13562.     Description:
  13563.  
  13564.          Gets/Sets the VOC volume level established in the left channel
  13565.          of the Sound Blaster.
  13566.  
  13567.     Return:
  13568.  
  13569.          A numerical value indicating the volume bettwen 0 and 15.
  13570.  
  13571.     Example:
  13572.  
  13573.          ? sbVocVolL()
  13574.  
  13575. See Also: "sbVocVolR()" 
  13576.  
  13577.  
  13578.     sbVocVolR()
  13579.  
  13580.          Gets/Sets the right VOC volume level
  13581.  
  13582.     Syntax:
  13583.  
  13584.          sbVocVolR( [nNewVol] ) -> nVol
  13585.  
  13586.          nNewVol : The new volume level bettwen 0 and 15.
  13587.  
  13588.     Description:
  13589.  
  13590.          Gets/Sets the VOC volume level established in the right channel
  13591.          of the Sound Blaster.
  13592.  
  13593.     Return:
  13594.  
  13595.          A numerical value indicating the volume bettwen 0 and 15.
  13596.  
  13597.     Example:
  13598.  
  13599.          ? sbVocVolR()
  13600.  
  13601. See Also: "sbVocVolL()" 
  13602.  
  13603.  
  13604.                                  - Page 227 -
  13605. Norton Guide: `FAST.lib 3.50 » Reference'
  13606.  
  13607.  
  13608.  
  13609.     sbWavPlay()
  13610.  
  13611.          Plays a file with WAV format by the Sound Blaster
  13612.  
  13613.     Syntax:
  13614.  
  13615.          sbWavPlay( cFile, [nRate], [lKey] ) -> lError
  13616.  
  13617.          cFile : The name of the WAV file
  13618.          nRate : The frequency ratio. Default value is 12000 Hz.
  13619.                  Use this value for frequency changes.
  13620.          lKey  : A logic value indicating if the sound must be stoped if
  13621.                  the user press any key. By default .F. indicating no stop.
  13622.  
  13623.     Description:
  13624.  
  13625.          Plays a file with WAV format by the Sound Blaster.
  13626.  
  13627.     Return:
  13628.  
  13629.          A logic value indicating if the function finished without error
  13630.  
  13631.     Example:
  13632.  
  13633.          sbWavPlay( "Luna.Wav", 13224 )
  13634.  
  13635. See Also: "sbVocPlay()" 
  13636.  
  13637.  
  13638.     spkVocPlay()
  13639.  
  13640.          Plays a file with VOC format by the speaker
  13641.  
  13642.     Syntax:
  13643.  
  13644.          spkVocPlay( cFile, [nRate], [lKey] ) -> lError
  13645.  
  13646.          cFile : The name of the VOC file
  13647.          nRate : The frequency ratio. Default value is 12000 Hz.
  13648.                  Use this value for frequency changes.
  13649.          lKey  : A logic value indicating if the sound must be stoped if
  13650.                  the user press any key. By default .F. indicating no stop.
  13651.  
  13652.     Description:
  13653.  
  13654.          Plays a file with VOC format by the speaker.
  13655.  
  13656.     Return:
  13657.  
  13658.          A logic value indicating if the function finished without error
  13659.  
  13660.     Example:
  13661.  
  13662.          spkVocPlay( "Handel.voc", 13224 )
  13663.  
  13664.                                  - Page 228 -
  13665. Norton Guide: `FAST.lib 3.50 » Reference'
  13666.  
  13667.  
  13668.  
  13669. See Also: "spkWavPlay()" 
  13670.  
  13671.  
  13672.     spkWavPlay()
  13673.  
  13674.          Plays a file with WAV format by the speaker
  13675.  
  13676.     Syntax:
  13677.  
  13678.          spkWavPlay( cFile, [nRate], [lKey] ) -> lError
  13679.  
  13680.          cFile : The name of the WAV file
  13681.          nRate : The frequency ratio. Default value is 12000 Hz.
  13682.                  Use this value for frequency changes.
  13683.          lKey  : A logic value indicating if the sound must be stoped if
  13684.                  the user press any key. By default .F. indicating no stop.
  13685.  
  13686.     Description:
  13687.  
  13688.          Reproduces a file with WAV format by the speaker.
  13689.  
  13690.     Return:
  13691.  
  13692.          A logic value indicating if the function finished without error
  13693.  
  13694.     Example:
  13695.  
  13696.          spkWavPlay( "Luna.Wav", 13224 )
  13697.  
  13698. See Also: "spkVocPlay()" 
  13699.  
  13700.  
  13701.  
  13702.  
  13703.  
  13704.  
  13705.  
  13706.  
  13707.  
  13708.  
  13709.  
  13710.  
  13711.  
  13712.  
  13713.  
  13714.  
  13715.  
  13716.  
  13717.  
  13718.  
  13719.  
  13720.  
  13721.  
  13722.  
  13723.                                  - Page 229 -
  13724. Norton Guide: `FAST.lib 3.50 » Reference'
  13725.  
  13726.  
  13727. Menu List: FAST.lib 2, System
  13728.  
  13729.  
  13730.  
  13731.  
  13732.    With these functions I give you control of the Clipper environment
  13733.  from within the applications that you make. This way, you can control
  13734.  the access to the Clipper's SETS, the modem, setup, passwords, CMOS, BIOS,
  13735.  memory, drivers... etc.
  13736.  
  13737.  ──────────────────────────────────────────────────────────────────────────────
  13738.  
  13739.  
  13740.     BIOSModel()
  13741.  
  13742.          Returns the computer model
  13743.  
  13744.     Syntax:
  13745.  
  13746.          BIOSModel() -> nModel
  13747.  
  13748.     Description:
  13749.  
  13750.          Returns a number between 0 and 255, that is to say, the decimal
  13751.          value of a byte indicating the model of the system that the BIOS
  13752.          reports. In a conventional 80386 this value normally is 252, or
  13753.          FCh. There are tables where these numbers are located for all the
  13754.          existing models in the majority of the assembler bibles.
  13755.  
  13756.     Return:
  13757.  
  13758.          A numeric value indicating the computer model.
  13759.  
  13760.     Example:
  13761.  
  13762.          ? BIOSModel()
  13763.  
  13764. See Also: "BIOSRev()" "BIOSSubMod()" 
  13765.  
  13766.  
  13767.     BIOSRev()
  13768.  
  13769.          Returns the BIOS revision
  13770.  
  13771.     Syntax:
  13772.  
  13773.          BIOSRev() -> nRevision
  13774.  
  13775.     Description:
  13776.  
  13777.          Returns a number between 0 and 255, that is to say, the decimal
  13778.          value of a byte indicating the revision of the system's BIOS.
  13779.          The revision usually is in relation to the date of the BIOS.
  13780.  
  13781.     Return:
  13782.  
  13783.                                  - Page 230 -
  13784. Norton Guide: `FAST.lib 3.50 » Reference'
  13785.  
  13786.  
  13787.  
  13788.          A numeric value indicating the BIOS revision.
  13789.  
  13790.     Example:
  13791.  
  13792.          BIOSRev()
  13793.  
  13794. See Also: "BIOSModel()" "BIOSSubMod()" 
  13795.  
  13796.  
  13797.     BIOSSubMod()
  13798.  
  13799.          Returns the computer submodel
  13800.  
  13801.     Syntax:
  13802.  
  13803.          BIOSSubMod() -> nSubModel
  13804.  
  13805.     Description:
  13806.  
  13807.          Returns a number between 0 and 255, that is to say, the decimal
  13808.          value of a byte indicating the SubModel of the computer. This
  13809.          value is the one that normally is used by the majority of the
  13810.          manufacturers to distinguish their equipment. The worst case is
  13811.          a lot of clones manufacturers may use the same values. Is not the
  13812.          same with IBM, Compaq or Toshiba who use exclusive values.
  13813.  
  13814.     Return:
  13815.  
  13816.          A numeric value indicating the computer submodel.
  13817.  
  13818.     Example:
  13819.  
  13820.          BIOSSubMod()
  13821.  
  13822. See Also: "BIOSModel()" "BIOSRev()" 
  13823.  
  13824.  
  13825.     cArgV()
  13826.  
  13827.          Returns a command line parameter
  13828.  
  13829.     Syntax:
  13830.  
  13831.          cArgV( nPos ) -> cParam
  13832.  
  13833.          nPos : The position of the command line. The 0 position
  13834.                 is the name of the program that is running. The 1 position
  13835.                 is the first parameter, 2 the second....
  13836.  
  13837.     Description:
  13838.  
  13839.          Returns the parameters that has been carried to the application
  13840.          and/or the name of the program that is running.
  13841.  
  13842.  
  13843.                                  - Page 231 -
  13844. Norton Guide: `FAST.lib 3.50 » Reference'
  13845.  
  13846.  
  13847.     Return:
  13848.  
  13849.          A character value with the specified command line parameter.
  13850.  
  13851.     Example:
  13852.  
  13853.          ? cArgV( 0 )           // the name of the program
  13854.          ? cArgV( 2 )           // the second parameter
  13855.  
  13856. See Also: "nArgC()" 
  13857.  
  13858.  
  13859.     cmosGet()
  13860.  
  13861.          Gets a CMOS position
  13862.  
  13863.     Syntax:
  13864.  
  13865.          cmosGet( nAddress ) -> nValue
  13866.  
  13867.          nAddress : The relative address of CMOS. The address
  13868.                     table is given below.
  13869.  
  13870.     Description:
  13871.  
  13872.          Returns the value of a memory cell in CMOS. This can be useful
  13873.          to determine various aspects about the system's setup. Remember that
  13874.          the input and output parameters must be specified in decimal code,
  13875.          even though the table below is given in hexadecimal.
  13876.  
  13877.                  00h    Seconds
  13878.                  01h    Alarm seconds
  13879.                  02h    Minutes
  13880.                  03h    Alarm minutes
  13881.                  04h    Hours
  13882.                  05h    Alarm Hours
  13883.                  06h    Day of week
  13884.                  07h    Day of month
  13885.                  08h    Month
  13886.                  09h    Year
  13887.                  0Ah    Status register A
  13888.                  0Bh    Status register B
  13889.                  0Ch    Status register C
  13890.                  0Dh    Status register D
  13891.                  0Eh    Diagnostic Byte
  13892.                  OFh    Shutdown status byte
  13893.                  10h    Diskette drive type byte - disk A and B
  13894.                  11h    Reserved
  13895.                  12h    Fixed disk type byte - disk C and D
  13896.                  13h    Reserved
  13897.                  14h    Equipment Byte
  13898.                  15h    Low base memory byte
  13899.                  16h    High base memory byte
  13900.                  17h    Low expansion memory byte
  13901.                  18h    High expansion memory byte
  13902.  
  13903.                                  - Page 232 -
  13904. Norton Guide: `FAST.lib 3.50 » Reference'
  13905.  
  13906.  
  13907.                  19-2Dh Reserved
  13908.                  2Eh    Checksum byte 1
  13909.                  2Fh    Checksum byte 2
  13910.                  30h    Low expansion memory byte
  13911.                  31h    High expansion memory byte
  13912.                  32h    Date century byte
  13913.                  33h    Flags Information byte
  13914.                  34-3Fh Reserved
  13915.  
  13916.     Return:
  13917.  
  13918.          A numeric value with the CMOS position.
  13919.  
  13920.     Example:
  13921.  
  13922.          ? cmosGet( 6 )           // returns the day of the week
  13923.  
  13924. See Also: "cmosSet()" 
  13925.  
  13926.  
  13927.     cmosSet()
  13928.  
  13929.          Sets a CMOS position
  13930.  
  13931.     Syntax:
  13932.  
  13933.          cmosSet( nAddress, nValue ) -> NIL
  13934.  
  13935.          nAddress : The relative address of CMOS. The address table is given
  13936.                     below.
  13937.          nValue   : The new value for the indicated position of CMOS
  13938.  
  13939.     Description:
  13940.  
  13941.          DANGER!!
  13942.          This function allows low level access to system. It MUST be used
  13943.          with extreme care and requires a thorough knowledge of computer
  13944.          Architecture.
  13945.  
  13946.          Initialize the value of a cell of the CMOS memory. It can be very
  13947.          useful to quickly modify the system's setup. Remember that the
  13948.          input and output parameters must be specified in decimal, even though
  13949.          the table below is given in hexadecimal.
  13950.  
  13951.                  00h    Seconds
  13952.                  01h    Alarm seconds
  13953.                  02h    Minutes
  13954.                  03h    Alarm minutes
  13955.                  04h    Hours
  13956.                  05h    Alarm Hours
  13957.                  06h    Day of week
  13958.                  07h    Day of month
  13959.                  08h    Month
  13960.                  09h    Year
  13961.                  0Ah    Status register A
  13962.  
  13963.                                  - Page 233 -
  13964. Norton Guide: `FAST.lib 3.50 » Reference'
  13965.  
  13966.  
  13967.                  0Bh    Status register B
  13968.                  0Ch    Status register C
  13969.                  0Dh    Status register D
  13970.                  0Eh    Diagnostic Byte
  13971.                  OFh    Shutdown status byte
  13972.                  10h    Diskette drive type byte - disk A and B
  13973.                  11h    Reserved
  13974.                  12h    Fixed disk type byte - disk C and D
  13975.                  13h    Reserved
  13976.                  14h    Equipment Byte
  13977.                  15h    Low base memory byte
  13978.                  16h    High base memory byte
  13979.                  17h    Low expansion memory byte
  13980.                  18h    High expansion memory byte
  13981.                  19-2Dh Reserved
  13982.                  2Eh    Checksum byte 1
  13983.                  2Fh    Checksum byte 2
  13984.                  30h    Low expansion memory byte
  13985.                  31h    High expansion memory byte
  13986.                  32h    Date century byte
  13987.                  33h    Flags Information byte
  13988.                  34-3Fh Reserved
  13989.  
  13990.     Return:
  13991.  
  13992.          Nothing.
  13993.  
  13994.     Example:
  13995.  
  13996.          ? cmosSet( 0, 30 )         // Put the system seconds to 30
  13997.  
  13998. See Also: "cmosGet()" 
  13999.  
  14000.  
  14001.     CpuType()
  14002.  
  14003.          Returns the processor type
  14004.  
  14005.     Syntax:
  14006.  
  14007.          CpuType() -> nProcessor
  14008.  
  14009.     Description:
  14010.  
  14011.          Returns the kind of CPU that the system has, following a process
  14012.          published directly by Intel. The compatibility of this function
  14013.          with processors not from Intel cannot be guaranteed.
  14014.  
  14015.     Return:
  14016.  
  14017.          Returns a numeric value indicanting:
  14018.  
  14019.               0 - 8088
  14020.               1 - 8086
  14021.               2 - 80286
  14022.  
  14023.                                  - Page 234 -
  14024. Norton Guide: `FAST.lib 3.50 » Reference'
  14025.  
  14026.  
  14027.               3 - 80386
  14028.               4 - 80486
  14029.               5 - Pentium
  14030.               6 - 6tium when available
  14031.               7 - 7tium when available
  14032.               8 - 8tium when available
  14033.               9 - 9tium when available
  14034.              10 - NEC V20
  14035.              11 - NEC V30
  14036.              12 - 80188
  14037.              13 - 80186
  14038.  
  14039.     Example:
  14040.  
  14041.          If CpuType () == 5
  14042.            ? "Ohh, a pentium"
  14043.          EndIf
  14044.  
  14045.  
  14046.     Delay()
  14047.  
  14048.          Delays a specified number of milliseconds
  14049.  
  14050.     Syntax:
  14051.  
  14052.          Delay( nMilSeconds ) -> NIL
  14053.  
  14054.          nMilSeconds : Number of milliseconds to delay.
  14055.  
  14056.     Description:
  14057.  
  14058.          Waits for nMilSeconds. This function doesn't attend to the keyboard
  14059.          and only finishes when the time is completed.
  14060.  
  14061.          The precision is to the millisecond, is that to say, 0.001.
  14062.  
  14063.     Return:
  14064.  
  14065.          Nothing.
  14066.  
  14067.     Example:
  14068.  
  14069.          Delay ( 0.5 )          // Delay 0.5 seconds
  14070.  
  14071.  
  14072.     Deencrypt()
  14073.  
  14074.          Decrypts a string
  14075.  
  14076.     Syntax:
  14077.  
  14078.          Deencrypt( cString, cPassword ) -> cNewString
  14079.  
  14080.          cString   : The string to decrypt
  14081.          cPassword : The string used to decrypt
  14082.  
  14083.                                  - Page 235 -
  14084. Norton Guide: `FAST.lib 3.50 » Reference'
  14085.  
  14086.  
  14087.  
  14088.     Description:
  14089.  
  14090.          Decrypts an string with a secret method.
  14091.  
  14092.     Return:
  14093.  
  14094.          A decrypt character value.
  14095.  
  14096.     Example:
  14097.  
  14098.          cValue := Deencrypt ( "Hello world", "This is my password" )
  14099.  
  14100. See Also: "Encrypt()" "GetPass()" 
  14101.  
  14102.  
  14103.     DOSShell()
  14104.  
  14105.          Starts a new command processor
  14106.  
  14107.     Syntax:
  14108.  
  14109.          DOSShell() -> NIL
  14110.  
  14111.     Return:
  14112.  
  14113.          Nothing.
  14114.  
  14115.     Example:
  14116.  
  14117.          ? "Type EXIT to return"
  14118.          DOSShell ()
  14119.  
  14120.  
  14121.     DPMIVersion()
  14122.  
  14123.          Returns the DPMI host version
  14124.  
  14125.     Syntax:
  14126.  
  14127.          DPMIVersion() -> cVersion
  14128.  
  14129.     Description:
  14130.  
  14131.          Returns DPMI host version or an empty string if a DPMI host is not
  14132.          running.
  14133.  
  14134.     Return:
  14135.  
  14136.          A character value with the DPMI host version or an empty string if
  14137.          a DPMI host is not running.
  14138.  
  14139.     Example:
  14140.  
  14141.          If IsDPMI()
  14142.  
  14143.                                  - Page 236 -
  14144. Norton Guide: `FAST.lib 3.50 » Reference'
  14145.  
  14146.  
  14147.            Warning( "DPMI host Version: " + DPMIVersion() )
  14148.          EndIf
  14149.  
  14150. See Also: "IsDPMI()" 
  14151.  
  14152.  
  14153.     Encrypt()
  14154.  
  14155.          Encrypts a string
  14156.  
  14157.     Syntax:
  14158.  
  14159.          Encrypt( cString, cPassword ) -> cNewString
  14160.  
  14161.          cString   : The string to encrypt
  14162.          cPassword : The string used to encrypt
  14163.  
  14164.     Description:
  14165.  
  14166.          Encrypts a string with a secret method.
  14167.  
  14168.     Return:
  14169.  
  14170.          A encrypt character value.
  14171.  
  14172.     Example:
  14173.  
  14174.          cValue := Encrypt( "The beach is empty now", "This is my password" )
  14175.  
  14176. See Also: "Deencrypt()" "GetPass()" 
  14177.  
  14178.  
  14179.     FastRight()
  14180.  
  14181.          Returns the Fast Library Copyright
  14182.  
  14183.     Syntax:
  14184.  
  14185.          FastRight() -> cCopyright
  14186.  
  14187.     Description:
  14188.  
  14189.          Returns the Fast Library Copyright as a character value.
  14190.  
  14191.     Return:
  14192.  
  14193.          A character value with Fast Library Copyright.
  14194.  
  14195.     Example:
  14196.  
  14197.          FastRight()       //  "(C) 1993 Manu Roibal"
  14198.  
  14199. See Also: "FastVersion()" 
  14200.  
  14201.  
  14202.  
  14203.                                  - Page 237 -
  14204. Norton Guide: `FAST.lib 3.50 » Reference'
  14205.  
  14206.  
  14207.     FastVersion()
  14208.  
  14209.          Returns the Fast Library Version
  14210.  
  14211.     Syntax:
  14212.  
  14213.          FastVersion() -> cVersion
  14214.  
  14215.     Description:
  14216.  
  14217.          Returns the Fast Library Version as a character value.
  14218.  
  14219.     Return:
  14220.  
  14221.          A character value with the Fast Library Version.
  14222.  
  14223.     Example:
  14224.  
  14225.          FastVersion()   //  "Fast Library For Clipper V. 3.11"
  14226.  
  14227. See Also: "FastRight()" 
  14228.  
  14229.  
  14230.     GetEnviron()
  14231.  
  14232.          Gets the system environment
  14233.  
  14234.     Syntax:
  14235.  
  14236.          GetEnviron() -> aEnviron
  14237.  
  14238.     Description:
  14239.  
  14240.          Returns the system environment, PATH, SET's...
  14241.  
  14242.     Return:
  14243.  
  14244.          An array value with the system environment.
  14245.  
  14246.     Example:
  14247.  
  14248.          aArray := GetEnviron()
  14249.          For nInd := 1 To Len( aArray )     // COMSPEC=C:\DOS\COMMAND.COM
  14250.            ? aArray[ nInd ]                 // PATH=C:\DOS;D:\CLIPPER5\BIN
  14251.          Next                               // PROMPT=$P$G
  14252.                                             // ...
  14253.  
  14254.  
  14255.     GetPass()
  14256.  
  14257.          Gets a password
  14258.  
  14259.     Syntax:
  14260.  
  14261.          GetPass( nRow, nCol, cMessage, nLen ) -> cPass
  14262.  
  14263.                                  - Page 238 -
  14264. Norton Guide: `FAST.lib 3.50 » Reference'
  14265.  
  14266.  
  14267.  
  14268.          nRow     : The line where the password is asked
  14269.          nCol     : The column where the password is asked
  14270.          cMessage : The message to put just before the petition
  14271.          nLen     : Max number of characters of the password
  14272.  
  14273.     Description:
  14274.  
  14275.          Ask for a password of nLen max characters at the specified
  14276.          position
  14277.  
  14278.     Return:
  14279.  
  14280.          The password (with fingers drumming) or "" if exit with Esc.
  14281.  
  14282.     Example:
  14283.  
  14284.          cPass := GetPass ( 12, 20, "Input password", 15 )
  14285.  
  14286. See Also: "Encrypt()" "Deencrypt()" 
  14287.  
  14288.  
  14289.     iDisable()
  14290.  
  14291.          Inhibits the maskable interrupts
  14292.  
  14293.     Syntax:
  14294.  
  14295.          iDisable() -> NIL
  14296.  
  14297.     Description:
  14298.  
  14299.          Inhibits the maskable interrupts and causes the Clipper VMM
  14300.          system to not use the "dead times" to continue it's work.
  14301.  
  14302.          This very useful when the response time of a process is crucial
  14303.          and we do not want the VMM to use the false dead times.
  14304.  
  14305.          Remember that any interrupt can not be used if you do not call the
  14306.          function iEnable().
  14307.  
  14308.     Return:
  14309.  
  14310.          Nothing.
  14311.  
  14312.     Example:
  14313.  
  14314.          iDisable()
  14315.          For nInd := 1 To 100
  14316.            NullFunc()               // in this process the VMM is stoped
  14317.          Next
  14318.          iEnable()
  14319.  
  14320. See Also: "iEnable()" 
  14321.  
  14322.  
  14323.                                  - Page 239 -
  14324. Norton Guide: `FAST.lib 3.50 » Reference'
  14325.  
  14326.  
  14327.  
  14328.     iEnable()
  14329.  
  14330.          Allows the maskable interrupts
  14331.  
  14332.     Syntax:
  14333.  
  14334.          iEnable() -> NIL
  14335.  
  14336.     Description:
  14337.  
  14338.          Allows the maskable interrupts. It does not have effect if the
  14339.          maskable interrupts are not in effect.
  14340.  
  14341.          Must be called after a iDisable() when you want to allow the
  14342.          Clipper VMM system to continue.
  14343.  
  14344.     Return:
  14345.  
  14346.          Nothing.
  14347.  
  14348.     Example:
  14349.  
  14350.          iDisable()
  14351.          For nInd := 1 To 100
  14352.            NullFunc()               // in this process the VMM is stoped
  14353.          Next
  14354.          iEnable()
  14355.  
  14356. See Also: "iDisable()" 
  14357.  
  14358.  
  14359.     Inb()
  14360.  
  14361.          Reads a byte from a hardware port
  14362.  
  14363.     Syntax:
  14364.  
  14365.          Inb( nPort ) -> nValue
  14366.  
  14367.          nPort : System port
  14368.  
  14369.     Description:
  14370.  
  14371.          DANGER!!
  14372.          This function allows low level access to system. It should be used
  14373.          with extreme care and requires a through knowledge of computer
  14374.          Architecture.
  14375.  
  14376.     Return:
  14377.  
  14378.          A numeric value received from port.
  14379.  
  14380.     Example:
  14381.  
  14382.  
  14383.                                  - Page 240 -
  14384. Norton Guide: `FAST.lib 3.50 » Reference'
  14385.  
  14386.  
  14387.          nValue := Inb ( 255 )  // I pick up the value of the FF port
  14388.  
  14389. See Also: "Inw()" "Outb()" "Outw()" 
  14390.  
  14391.  
  14392.     IniLoad()
  14393.  
  14394.          Loads a configuration file .INI
  14395.  
  14396.     Syntax:
  14397.  
  14398.          IniLoad( cFile, cAppl ) -> aIniFile
  14399.  
  14400.          cFile : File to load
  14401.          cAppl : Application name
  14402.  
  14403.     Description:
  14404.  
  14405.          Reads the file and loads the setup information.
  14406.          It's the first operation to be used with all .ini functions.
  14407.  
  14408.     Return:
  14409.  
  14410.          Returns an array with the information in the .INI file.
  14411.  
  14412.     Example:
  14413.  
  14414.          aIniFile := IniLoad( "Fast.Ini", "MARKET" )
  14415.  
  14416. See Also: "IniSearch()" "IniWrite()" "IniSave()" 
  14417.  
  14418.  
  14419.     IniSearch()
  14420.  
  14421.          Searches for an item in a configuration file .INI
  14422.  
  14423.     Syntax:
  14424.  
  14425.          IniSearch( aIniFile, cItem, cDefault ) -> cValue
  14426.  
  14427.          aIniFile : An array with the information in the .INI file
  14428.          cItem    : Item to search
  14429.          cDefault : Default value if item is not found
  14430.  
  14431.     Description:
  14432.  
  14433.          Returns the item's value in the setup file or the cDefault
  14434.          value if cItem isn't found.
  14435.  
  14436.          cItem must be in Uppercase.
  14437.  
  14438.     Return:
  14439.  
  14440.          The value of cItem or the default value.
  14441.  
  14442.  
  14443.                                  - Page 241 -
  14444. Norton Guide: `FAST.lib 3.50 » Reference'
  14445.  
  14446.  
  14447.     Example:
  14448.  
  14449.          cValue := IniSearch ( aIniFile, "CPUTYPE", "386sx" )
  14450.  
  14451. See Also: "IniWrite()" "IniSave()" "IniLoad()" 
  14452.  
  14453.  
  14454.     IniSave()
  14455.  
  14456.          Saves an item in a configuration file .INI
  14457.  
  14458.     Syntax:
  14459.  
  14460.          IniSave( aIniFile, cItem, cValue ) -> NIL
  14461.  
  14462.          aIniFile : An array with the information in the .INI file
  14463.          cItem    : Item to modify
  14464.          cValue   : New value
  14465.  
  14466.     Description:
  14467.  
  14468.          Saves the value of an item in the setup but doesn't dump
  14469.          to disk until you make a call to IniWrite().
  14470.  
  14471.     Return:
  14472.  
  14473.          Nothing.
  14474.  
  14475.     Example:
  14476.  
  14477.          IniSave( aIniFile, "CPUTYPE", "386 DX2 25 Mhz" )
  14478.  
  14479. See Also: "IniSearch()" "IniWrite()" "IniLoad()" 
  14480.  
  14481.  
  14482.     IniWrite()
  14483.  
  14484.          Writes to disk a configuration file .INI
  14485.  
  14486.     Syntax:
  14487.  
  14488.          IniWrite( aIniFile, cFile, cAppl ) -> NIL
  14489.  
  14490.          aIniFile : An array with the information in the .INI file
  14491.          cFile    : File to create
  14492.          cAppl    : Application name
  14493.  
  14494.     Description:
  14495.  
  14496.          Creates a file with the existing setup information. The name
  14497.          of the application will be placed on the first line of the
  14498.          file if this is necessary.
  14499.  
  14500.     Return:
  14501.  
  14502.  
  14503.                                  - Page 242 -
  14504. Norton Guide: `FAST.lib 3.50 » Reference'
  14505.  
  14506.  
  14507.          Nothing.
  14508.  
  14509.     Example:
  14510.  
  14511.          IniWrite ( aIniFile, "Fast.Ini", "MARKET" )
  14512.  
  14513. See Also: "IniSearch()" "IniSave()" "IniLoad()" 
  14514.  
  14515.  
  14516.     Inw()
  14517.  
  14518.          Reads a word from a hardware port
  14519.  
  14520.     Syntax:
  14521.  
  14522.          Inb( nPort ) -> nValue
  14523.  
  14524.          nPort : System port
  14525.  
  14526.     Description:
  14527.  
  14528.          DANGER!!
  14529.          This function allows low level access to system. It should be used
  14530.          with extreme care and requires a through knowledge of computer
  14531.          Architecture.
  14532.  
  14533.     Return:
  14534.  
  14535.          A numeric value received from port.
  14536.  
  14537.     Example:
  14538.  
  14539.          nValue := Inb ( 255 )  // Choose a value from the port FF
  14540.  
  14541. See Also: "Inb()" "Outb()" "Outw()" 
  14542.  
  14543.  
  14544.     IsAnsi()
  14545.  
  14546.          Determines if Ansi.sys has been loaded
  14547.  
  14548.     Syntax:
  14549.  
  14550.          IsAnsi() -> lLoaded
  14551.  
  14552.     Description:
  14553.  
  14554.          Determines if Ansi.sys has been loaded.
  14555.  
  14556.     Return:
  14557.  
  14558.          A logic value indicating if has been loaded.
  14559.  
  14560.     Example:
  14561.  
  14562.  
  14563.                                  - Page 243 -
  14564. Norton Guide: `FAST.lib 3.50 » Reference'
  14565.  
  14566.  
  14567.          If IsAnsi()
  14568.            Warning( "Ansi.sys has been loaded" )
  14569.          EndIf
  14570.  
  14571. See Also: "IsKeyb()" "IsNlsFunc()" "IsShare()" 
  14572.  
  14573.  
  14574.     IsCopro()
  14575.  
  14576.          Determines if a math coprocessor is present
  14577.  
  14578.     Syntax:
  14579.  
  14580.          IsCopro() -> lExist
  14581.  
  14582.     Description:
  14583.  
  14584.          Determines if system has a numeric coprocessor or emulator.
  14585.  
  14586.     Return:
  14587.  
  14588.          A logic value indicating if a math coprocessor is present.
  14589.  
  14590.     Example:
  14591.  
  14592.          If IsCopro()
  14593.            Warning( "You have a math coprocessor" )
  14594.          EndIf
  14595.  
  14596. See Also: "IsModem()" 
  14597.  
  14598.  
  14599.     IsDPMI()
  14600.  
  14601.          Determines if a DPMI host is present
  14602.  
  14603.     Syntax:
  14604.  
  14605.          IsDPMI() -> lLoaded
  14606.  
  14607.     Description:
  14608.  
  14609.          Determines if a DOS Protected Mode Interface (DPMI) host is present.
  14610.  
  14611.     Return:
  14612.  
  14613.          A logic value indicating if a DPMI host is present.
  14614.  
  14615.     Example:
  14616.  
  14617.          If IsDPMI()
  14618.            Warning( "You are running in PM or V86" )
  14619.          EndIf
  14620.  
  14621. See Also: "DPMIVersion()" 
  14622.  
  14623.                                  - Page 244 -
  14624. Norton Guide: `FAST.lib 3.50 » Reference'
  14625.  
  14626.  
  14627.  
  14628.  
  14629.     IsKeyb()
  14630.  
  14631.          Determines if Keyb has been loaded
  14632.  
  14633.     Syntax:
  14634.  
  14635.          IsKeyb() -> lLoaded
  14636.  
  14637.     Description:
  14638.  
  14639.          Determines if KEYB.SYS has been loaded.
  14640.  
  14641.     Return:
  14642.  
  14643.          A logic value indicating if has been loaded.
  14644.  
  14645.     Example:
  14646.  
  14647.          If IsKeyb()
  14648.            Warning( "Keyb.sys has been loaded" )
  14649.          EndIf
  14650.  
  14651. See Also: "IsAnsi()" "IsNlsFunc()" "IsShare()" 
  14652.  
  14653.  
  14654.     IsModem()
  14655.  
  14656.          Determines if an internal modem is present
  14657.  
  14658.     Syntax:
  14659.  
  14660.          IsModem() -> lExist
  14661.  
  14662.     Description:
  14663.  
  14664.          Determines if system has an internal modem.
  14665.  
  14666.     Return:
  14667.  
  14668.          A logic value indicating if an internal modem is present.
  14669.  
  14670.     Example:
  14671.  
  14672.          If IsModem()
  14673.            Warning ( "You have a internal modem" )
  14674.          EndIf
  14675.  
  14676. See Also: "IsCopro()" 
  14677.  
  14678.  
  14679.     IsMSDOS()
  14680.  
  14681.          Determines if Operation System is MSDOS or DRDOS
  14682.  
  14683.                                  - Page 245 -
  14684. Norton Guide: `FAST.lib 3.50 » Reference'
  14685.  
  14686.  
  14687.  
  14688.     Syntax:
  14689.  
  14690.          IsMSDOS() -> lIsMSDOS
  14691.  
  14692.     Description:
  14693.  
  14694.          Determines if Operation System (OS) is a Microsoft DOS (MSDOS) or
  14695.          a Digital Research DOS (DRDOS).
  14696.  
  14697.     Return:
  14698.  
  14699.          .F. for DRDOS and .T. for MSDOS (or another one).
  14700.  
  14701.     Example:
  14702.  
  14703.          If IsMSDOS()
  14704.            Warning ( "Very good Bill G..." )
  14705.          EndIf
  14706.  
  14707. See Also: "IsQEMM()" 
  14708.  
  14709.  
  14710.     IsNlsFunc()
  14711.  
  14712.          Determines if NlsFunc has been loaded
  14713.  
  14714.     Syntax:
  14715.  
  14716.          IsNlsFunc() -> lLoaded
  14717.  
  14718.     Description:
  14719.  
  14720.          Determines if NlsFunc has been loaded.
  14721.  
  14722.     Return:
  14723.  
  14724.          A logic value indicating if NlsFunc has been loaded.
  14725.  
  14726.     Example:
  14727.  
  14728.          If IsNlsFunc()
  14729.            Warning ( "NlsFunc has been loaded" )
  14730.          EndIf
  14731.  
  14732. See Also: "IsAnsi()" "IsKeyb()" "IsShare()" 
  14733.  
  14734.  
  14735.     IsQEMM()
  14736.  
  14737.          Determines if QEMM386.SYS or QRAM.SYS has been loaded
  14738.  
  14739.     Syntax:
  14740.  
  14741.          IsQEMM() -> lLoaded
  14742.  
  14743.                                  - Page 246 -
  14744. Norton Guide: `FAST.lib 3.50 » Reference'
  14745.  
  14746.  
  14747.  
  14748.     Description:
  14749.  
  14750.          Determines if QEMM386.SYS or QRAM.SYS has been loaded.
  14751.  
  14752.     Return:
  14753.  
  14754.          A logic value indicating if QEMM386.SYS or QRAM.SYS has been loaded.
  14755.  
  14756.     Example:
  14757.  
  14758.          If IsQEMM()
  14759.            Warning ( "QEMM386 has been loaded" )
  14760.          EndIf
  14761.  
  14762. See Also: "IsXMS()" 
  14763.  
  14764.  
  14765.     IsShare()
  14766.  
  14767.          Determines if Share has been loaded
  14768.  
  14769.     Syntax:
  14770.  
  14771.          IsShare() -> lLoaded
  14772.  
  14773.     Description:
  14774.  
  14775.          Determines if Share has been loaded.
  14776.  
  14777.     Return:
  14778.  
  14779.          A logic value indicating if SHARE.EXE has been loaded.
  14780.  
  14781.     Example:
  14782.  
  14783.          If IsShare()
  14784.            Warning ( "Share has been loaded" )
  14785.          EndIf
  14786.  
  14787. See Also: "IsAnsi()" "IsKeyb()" "IsNlsFunc()" 
  14788.  
  14789.  
  14790.     IsXMS()
  14791.  
  14792.          Determines if a XMS driver has been loaded
  14793.  
  14794.     Syntax:
  14795.  
  14796.          IsXMS() -> lLoaded
  14797.  
  14798.     Description:
  14799.  
  14800.          Determines if a XMS driver has been loaded.
  14801.  
  14802.  
  14803.                                  - Page 247 -
  14804. Norton Guide: `FAST.lib 3.50 » Reference'
  14805.  
  14806.  
  14807.     Return:
  14808.  
  14809.          A logic value indicating if a XMS driver has been loaded.
  14810.  
  14811.     Example:
  14812.  
  14813.          If IsXMS()
  14814.            Warning ( "XMS driver is present" )
  14815.          EndIf
  14816.  
  14817. See Also: "IsQEMM()" 
  14818.  
  14819.  
  14820.     nArgC()
  14821.  
  14822.          Returns the number of command line parameters
  14823.  
  14824.     Syntax:
  14825.  
  14826.          nArgC() -> nNumber
  14827.  
  14828.     Description:
  14829.  
  14830.          Returns the number of parameters passed to the application adding
  14831.          one (the name of the program that is running is also included as a
  14832.          parameter). The exact syntax of the functions cArgV and cArgC are the
  14833.          same.
  14834.  
  14835.     Return:
  14836.  
  14837.          The number of parameters plus one for the name of the running
  14838.          application.
  14839.  
  14840.     Example:
  14841.  
  14842.          For nInd := 0 To nArgC() - 1
  14843.            ? cArgV( nInd )
  14844.          Next
  14845.  
  14846. See Also: "cArgV()" 
  14847.  
  14848.  
  14849.     NullFunc()
  14850.  
  14851.          A Function that does nothing
  14852.  
  14853.     Syntax:
  14854.  
  14855.          NullFunc() -> NIL
  14856.  
  14857.     Description:
  14858.  
  14859.          This doesn't do anything.  This can be useful in some cases where
  14860.          it's necessary to put a function in some codeblocks.
  14861.  
  14862.  
  14863.                                  - Page 248 -
  14864. Norton Guide: `FAST.lib 3.50 » Reference'
  14865.  
  14866.  
  14867.     Return:
  14868.  
  14869.          Nothing.
  14870.  
  14871.     Example:
  14872.  
  14873.          aEval ( aArray, { || NullFunc () } )
  14874.  
  14875.  
  14876.     NumParalel()
  14877.  
  14878.          Returns the number of parallel ports
  14879.  
  14880.     Syntax:
  14881.  
  14882.          NumParalel() -> nPorts
  14883.  
  14884.     Description:
  14885.  
  14886.          Returns the number of parallel ports on system.
  14887.  
  14888.     Return:
  14889.  
  14890.          A numeric value with the number of parallel ports.
  14891.  
  14892.     Example:
  14893.  
  14894.          Warning( "You have " + Str ( NumParalel() ) + " parallel ports" )
  14895.  
  14896. See Also: "NumSerial()" 
  14897.  
  14898.  
  14899.     NumSerial()
  14900.  
  14901.          Returns the number of serial ports
  14902.  
  14903.     Syntax:
  14904.  
  14905.          NumSerial() -> nPorts
  14906.  
  14907.     Description:
  14908.  
  14909.          Returns the number of serial ports on system.
  14910.  
  14911.     Return:
  14912.  
  14913.          A numeric value with the number of serial ports.
  14914.  
  14915.     Example:
  14916.  
  14917.          Warning( "You have " + Str ( NumSerial() ) + " serial ports" )
  14918.  
  14919. See Also: "NumParalel()" 
  14920.  
  14921.  
  14922.  
  14923.                                  - Page 249 -
  14924. Norton Guide: `FAST.lib 3.50 » Reference'
  14925.  
  14926.  
  14927.     DoIdle()
  14928.  
  14929.          Configs the internal screensaver of FAST.lib
  14930.  
  14931.     Syntax:
  14932.  
  14933.          DoIdle( bBlock, nSeconds ) -> NIL
  14934.  
  14935.          bBlock   : Will be evaluated by the internal engine
  14936.          nSeconds : The time to wait before to pass to idle mode
  14937.  
  14938.     Description:
  14939.  
  14940.          This function configs the internal screensaver system of FAST.lib.
  14941.  
  14942.     Return:
  14943.  
  14944.          Nothing.
  14945.  
  14946.     Example:
  14947.  
  14948.          // This's the old internal screensaver of FAST.lib.
  14949.  
  14950.          FUNCTION MAIN()
  14951.               DoIdle( { || Example() }, 60 )       // 60 seconds
  14952.          RETURN NIL
  14953.  
  14954.          FUNCTION Example()
  14955.             IF VideoMode() == 3           // we're in text mode
  14956.               ScreenSave()
  14957.             ENDIF
  14958.          RETURN NIL
  14959.  
  14960. See Also: "DoInterval()" 
  14961.  
  14962.  
  14963.     DoInterval()
  14964.  
  14965.          Calls to a function every given time
  14966.  
  14967.     Syntax:
  14968.  
  14969.          DoInterval( bBlock, nTime ) -> NIL
  14970.  
  14971.          bBlock : The codeblock that will be evaluated
  14972.          nTime  : The time interval in seconds
  14973.  
  14974.     Description:
  14975.  
  14976.          Evaluates a codeblock every given time. The minimun time is 1
  14977.          second.
  14978.  
  14979.     Return:
  14980.  
  14981.          Nothing.
  14982.  
  14983.                                  - Page 250 -
  14984. Norton Guide: `FAST.lib 3.50 » Reference'
  14985.  
  14986.  
  14987.  
  14988.     Example:
  14989.  
  14990.          FUNCTION MAIN()
  14991.               DoInterval( { || Example() }, 1 )
  14992.          RETURN NIL
  14993.  
  14994.          FUNCTION Example()
  14995.             @ 0, 70 SAY Time() COLOR "GR+/B"
  14996.          RETURN NIL
  14997.  
  14998. See Also: "DoIdle()" 
  14999.  
  15000.  
  15001.     Outb()
  15002.  
  15003.          Outputs a byte to a hardware port
  15004.  
  15005.     Syntax:
  15006.  
  15007.          Outb( nPort, nValue ) -> NIL
  15008.  
  15009.          nPort  : System port
  15010.          nValue : Byte to send
  15011.  
  15012.     Description:
  15013.  
  15014.          DANGER!!
  15015.          This function allows low level access to system. It should be used
  15016.          with extreme care and requires a thorough knowledge of computer
  15017.          Architecture.
  15018.  
  15019.     Return:
  15020.  
  15021.          Nothing.
  15022.  
  15023.     Example:
  15024.  
  15025.          Outb ( 255, 3 )
  15026.  
  15027. See Also: "Inw()" "Inw()" "Outw()" 
  15028.  
  15029.  
  15030.     Outw()
  15031.  
  15032.          Outputs a word to a hardware port
  15033.  
  15034.     Syntax:
  15035.  
  15036.          Outw( nPort, nValue ) -> NIL
  15037.  
  15038.          nPort  : System port
  15039.          nValue : Word to send
  15040.  
  15041.     Description:
  15042.  
  15043.                                  - Page 251 -
  15044. Norton Guide: `FAST.lib 3.50 » Reference'
  15045.  
  15046.  
  15047.  
  15048.          DANGER!!
  15049.          This function allows low level access to system. It should be used
  15050.          with extreme care and requires a thorough knowledge of computer
  15051.          Architecture.
  15052.  
  15053.     Return:
  15054.  
  15055.          Nothing.
  15056.  
  15057.     Example:
  15058.  
  15059.          Outw ( 255, 32921 )
  15060.  
  15061. See Also: "Inw()" "Inw()" "Outb()" 
  15062.  
  15063.  
  15064.     Peekb()
  15065.  
  15066.          Returns the byte at a memory location
  15067.  
  15068.     Syntax:
  15069.  
  15070.          Peekb( nSegment, nOffset ) -> nByte
  15071.  
  15072.          nSegment : Memory Segment
  15073.          nOffset  : Memory Offset
  15074.  
  15075.     Description:
  15076.  
  15077.          DANGER!!
  15078.          This function allows low level access to system. It should be used
  15079.          with extreme care and requires a thorough knowledge of computer
  15080.          Architecture.
  15081.  
  15082.     Return:
  15083.  
  15084.          The value of the byte received from the indicated position.
  15085.  
  15086.     Example:
  15087.  
  15088.          Peekb ( 64, 0 )                // Returns a byte at 0040:0000h
  15089.  
  15090. See Also: "Peekw()" "Pokeb()" "Pokew()" 
  15091.  
  15092.  
  15093.     Peekw()
  15094.  
  15095.          Returns a word at a memory location
  15096.  
  15097.     Syntax:
  15098.  
  15099.          Peekw( nSegment, nOffset ) -> nWord
  15100.  
  15101.          nSegment : Memory Segment
  15102.  
  15103.                                  - Page 252 -
  15104. Norton Guide: `FAST.lib 3.50 » Reference'
  15105.  
  15106.  
  15107.          nOffset  : Memory Offset
  15108.  
  15109.     Description:
  15110.  
  15111.          DANGER!!
  15112.          This function allows low level access to system. It should be used
  15113.          with extreme care and requires a thorough knowledge of computer
  15114.          Architecture.
  15115.  
  15116.     Return:
  15117.  
  15118.          The value of a word received from the indicated position.
  15119.  
  15120.     Example:
  15121.  
  15122.          Peekw ( 64, 0 )        // Return the word at 0040:0000h
  15123.  
  15124. See Also: "Peekb()" "Pokeb()" "Pokew()" 
  15125.  
  15126.  
  15127.     Pokeb()
  15128.  
  15129.          Stores a byte at a memory position
  15130.  
  15131.     Syntax:
  15132.  
  15133.          Pokeb( nSegment, nOffset, nByte ) -> NIL
  15134.  
  15135.          nSegment : Memory Segment
  15136.          nOffset  : Memory Offset
  15137.          nByte    : Byte to store
  15138.  
  15139.     Description:
  15140.  
  15141.          DANGER!!
  15142.          This function allows low level access to system. It should be used
  15143.          with extreme care and requires a thorough knowledge of computer
  15144.          Architecture.
  15145.  
  15146.     Return:
  15147.  
  15148.          Nothing.
  15149.  
  15150.     Example:
  15151.  
  15152.          Pokeb ( 64, 0, 16 )                    // 0040:0000h = 0Fh
  15153.  
  15154. See Also: "Peekb()" "Peekw()" "Pokew()" 
  15155.  
  15156.  
  15157.     Pokew()
  15158.  
  15159.          Stores a word at a memory position
  15160.  
  15161.     Syntax:
  15162.  
  15163.                                  - Page 253 -
  15164. Norton Guide: `FAST.lib 3.50 » Reference'
  15165.  
  15166.  
  15167.  
  15168.          Pokew( nSegment, nOffset, nWord ) -> NIL
  15169.  
  15170.          nSegment : Memory Segment
  15171.          nOffset  : Memory Offset
  15172.          nWord    : Word to store
  15173.  
  15174.     Description:
  15175.  
  15176.          DANGER!!
  15177.          This function allows low level access to system. It should be used
  15178.          with extreme care and requires a thorough knowledge of computer
  15179.          Architecture.
  15180.  
  15181.     Return:
  15182.  
  15183.          Nothing.
  15184.  
  15185.     Example:
  15186.  
  15187.          Pokew ( 64, 0, 65535 )         //  0040:0000h = FFFFh
  15188.  
  15189. See Also: "Peekb()" "Peekw()" "Pokeb()" 
  15190.  
  15191.  
  15192.     Reboot()
  15193.  
  15194.          Reboot the system
  15195.  
  15196.     Syntax:
  15197.  
  15198.          Reboot() -> NIL
  15199.  
  15200.     Description:
  15201.  
  15202.          Reboot the system like Ctrl-Alt-Del, is that to say, it initiates
  15203.          a warm boot, not checking memory.
  15204.  
  15205.     Return:
  15206.  
  15207.          Nothing.
  15208.  
  15209.     Example:
  15210.  
  15211.          Reboot()
  15212.  
  15213.  
  15214.     RestSets()
  15215.  
  15216.          Restores Clipper SETS from an array
  15217.  
  15218.     Syntax:
  15219.  
  15220.          RestSets( aArray ) -> NIL
  15221.  
  15222.  
  15223.                                  - Page 254 -
  15224. Norton Guide: `FAST.lib 3.50 » Reference'
  15225.  
  15226.  
  15227.          aArray : An array with saved SETS
  15228.  
  15229.     Description:
  15230.  
  15231.          Restores Clipper SETS from an array with the saved SETS.
  15232.  
  15233.     Return:
  15234.  
  15235.          Nothing.
  15236.  
  15237.     Example:
  15238.  
  15239.          RestSets( aArray )
  15240.  
  15241. See Also: "SaveSets()" 
  15242.  
  15243.  
  15244.     SaveSets()
  15245.  
  15246.          Saves Clipper SETS to an array
  15247.  
  15248.     Syntax:
  15249.  
  15250.          SaveSets() -> aArray
  15251.  
  15252.     Description:
  15253.  
  15254.          Saves Clipper SETS to an array.
  15255.  
  15256.     Return:
  15257.  
  15258.          An array with Clipper SETS.
  15259.  
  15260.     Example:
  15261.  
  15262.          Local aArray := SaveSets()
  15263.  
  15264. See Also: "RestSets()" 
  15265.  
  15266.  
  15267.     SetDate()
  15268.  
  15269.          Changes the system date
  15270.  
  15271.     Syntax:
  15272.  
  15273.          SetDate( dNewDate ) -> lError
  15274.  
  15275.          dNewDate : A Clipper date value with the new date
  15276.  
  15277.     Description:
  15278.  
  15279.          Changes the system date with a specified date.
  15280.  
  15281.          The opposite operation, is that to say, taking the system date could
  15282.  
  15283.                                  - Page 255 -
  15284. Norton Guide: `FAST.lib 3.50 » Reference'
  15285.  
  15286.  
  15287.          be made with the standard function date().
  15288.  
  15289.     Return:
  15290.  
  15291.          Returns .T. if the date is valid and .F. if it isn't.
  15292.  
  15293.     Example:
  15294.  
  15295.          If ! SetDate ( CtoD ( "99/99/99" ) )
  15296.            Warning ( "Incorrect date" )
  15297.          EndIf
  15298.  
  15299. See Also: "SetTime()" 
  15300.  
  15301.  
  15302.     SetTime()
  15303.  
  15304.          Changes time system time
  15305.  
  15306.     Syntax:
  15307.  
  15308.          SetTime( cNewTime ) -> lError
  15309.  
  15310.          cNewTime : A string with the new time
  15311.  
  15312.     Description:
  15313.  
  15314.          Changes the system time with a specified time in this format:
  15315.          HH:MM:SS.
  15316.  
  15317.          The opposite operation, is that to say, taking the hour
  15318.          of the system could be made with the standard function time().
  15319.  
  15320.     Return:
  15321.  
  15322.          Returns .T. if the hour is valid and .F. if it isn't.
  15323.  
  15324.     Example:
  15325.  
  15326.          SetTime ( "17:05:43" )
  15327.          If ! SetTime ( "78:99:90" )
  15328.            Warning ( "Incorrect time" )
  15329.          EndIf
  15330.  
  15331. See Also: "SetDate()" 
  15332.  
  15333.  
  15334.     SetVerify()
  15335.  
  15336.          Changes/Determines the DOS verify flag
  15337.  
  15338.     Syntax:
  15339.  
  15340.          SetVerify( [lNewValue] ) -> lOldValue
  15341.  
  15342.  
  15343.                                  - Page 256 -
  15344. Norton Guide: `FAST.lib 3.50 » Reference'
  15345.  
  15346.  
  15347.          lNewValue : A optional logical value indicating the new value of
  15348.                      the DOS verify flag
  15349.  
  15350.     Description:
  15351.  
  15352.          Changes and determines the value of the internal DOS verify flag.
  15353.  
  15354.     Return:
  15355.  
  15356.          Returns .T. if verify flag is ON .F. if it isn't.
  15357.  
  15358.     Example:
  15359.  
  15360.          BoxWarning ( "Verify flag is " + If( SetVerify(), "Yes", "No" ) )
  15361.  
  15362.  
  15363.     SystemIdle()
  15364.  
  15365.          Gives time to other programs when the program is idling
  15366.  
  15367.     Syntax:
  15368.  
  15369.          SystemIdle( [lMode] ) -> lOldMode
  15370.  
  15371.          lMode : .T. to install the system and .F. to deinstall.
  15372.  
  15373.     Description:
  15374.  
  15375.          SystemIdle() gives time generating int28h ints to a multitasker such
  15376.          as Windows, Windows/NT DosShell, OS/2 or other int28h idle system
  15377.          when application is idling.
  15378.  
  15379.     Return:
  15380.  
  15381.          The actual mode.
  15382.  
  15383.     Example:
  15384.  
  15385.          SystemIdle( .T. )
  15386.  
  15387.  
  15388.  
  15389.  
  15390.  
  15391.  
  15392.  
  15393.  
  15394.  
  15395.  
  15396.  
  15397.  
  15398.  
  15399.  
  15400.  
  15401.  
  15402.                                  - Page 257 -
  15403. Norton Guide: `FAST.lib 3.50 » Reference'
  15404.  
  15405.  
  15406. Menu Choice: Credits, Copyright
  15407.  
  15408.  
  15409.     Copyright
  15410.  
  15411.          ┌─────────────────────────────────────────────────────────┐
  15412.          │                                                         │
  15413.          │              Fast Library For Clipper 3.50              │
  15414.          │                                                         │
  15415.          │                 (C) 1992-95 Manu Roibal                 │
  15416.          │                                                         │
  15417.          │  Cool Tool Of The Month, April 1994. REFERENCE CLIPPER  │
  15418.          │                                                         │
  15419.          └─────────────────────────────────────────────────────────┘
  15420.  
  15421.  
  15422.     All code included in Fast Library For Clipper, the documentation,
  15423.  example programs and this Norton Guide are the property of Manu Roibal.
  15424.  
  15425.     It is fully prohibited to sell or distribute by either person,
  15426.  corporation or other entity without the express permission of the author.
  15427.  It is also fully prohibited to use Fast Library For Clipper for building
  15428.  Commercial or Non-commercial Applications with an unregistered copy.
  15429.  
  15430.  
  15431.     FAST.lib, (C) 1992-95 Manu Roibal, FAST.Software
  15432.     FastWare solutions.
  15433.  
  15434.     All trademarks and registered trademarks referenced in this file are the
  15435.  property of their respective owners.
  15436.  
  15437. See Also: "Technical Notes" "Thanks!" 
  15438.  
  15439.  
  15440.  
  15441.  
  15442.  
  15443.  
  15444.  
  15445.  
  15446.  
  15447.  
  15448.  
  15449.  
  15450.  
  15451.  
  15452.  
  15453.  
  15454.  
  15455.  
  15456.  
  15457.  
  15458.  
  15459.  
  15460.  
  15461.                                  - Page 258 -
  15462. Norton Guide: `FAST.lib 3.50 » Reference'
  15463.  
  15464.  
  15465. Menu Choice: Credits, Thanks!
  15466.  
  15467.  
  15468.     Thanks
  15469.  
  15470.    Too many people have collaborated directly or indirectly to create this
  15471.  library. Trying not forgetting anyone (sorry!) I would like to thank them
  15472.  for their unlimited patience.
  15473.  
  15474.        - Miren Itxaso Peña de Bracamonte
  15475.  
  15476.          She made up the name of this library, and thanks to her the code
  15477.          of Fast Library was completed when Murphy's laws started it's
  15478.          effects.
  15479.  
  15480.        - Oscar Fernández, Serpent BBS
  15481.  
  15482.          Because they believed in me when I suggested creating File and
  15483.          Message areas used exclusively for Fast in Serpent BBS. Due to
  15484.          it, communications between author and beta testers has been fluent
  15485.          and funny.
  15486.  
  15487.        - Jose Miguel Rodríguez. Sysop Virtual Software
  15488.  
  15489.          For his support with this new version. Many of Fast functions
  15490.          are based on Virtual Software sources/ideas, the paradise of xBase
  15491.          programmers.
  15492.  
  15493.        - Jose Ramón Vaamonde, Jorge Tomé, Jose Manuel Albarrán & Philippe
  15494.          Mingo
  15495.  
  15496.          They brought many ideas and conceptual solutions for the developing
  15497.          of this new version of Fast. Thanks!
  15498.  
  15499.        - Aritza Mollar, Oscar Fernández, Josu Ugalde, Alfonso Belloso and
  15500.          Txomin Martinez
  15501.  
  15502.          They never thought that translating this document into English
  15503.          was going to be as hard as it was.
  15504.  
  15505.        - Miren Itxaso Peña, Philippe Mingo, Jorge Tomé, Juan Campos,
  15506.          Francesc Valverde, Oscar Fernández, Esteban Roibal, Gorka Genaga &
  15507.          Luca Della Sala
  15508.  
  15509.          They translated the messages of Fast Library code into some
  15510.          other languages. To all, Thanks.
  15511.  
  15512.        - Rory Wright and Dan Applewhite
  15513.  
  15514.          Made final language checks in the Norton Guides and example program
  15515.          files making this library ready for American distribution.
  15516.  
  15517.        - Bert Kerkhof
  15518.  
  15519.          For your big ideas and your help in the serial comunications world.
  15520.  
  15521.                                  - Page 259 -
  15522. Norton Guide: `FAST.lib 3.50 » Reference'
  15523.  
  15524.  
  15525.  
  15526.        - Nacor Manuel Blanco
  15527.  
  15528.          For your help with the Huffman compression and decompression
  15529.          methods.
  15530.  
  15531. See Also: "Technical Notes" "Copyright" 
  15532.  
  15533.  
  15534.  
  15535.  
  15536.  
  15537.  
  15538.  
  15539.  
  15540.  
  15541.  
  15542.  
  15543.  
  15544.  
  15545.  
  15546.  
  15547.  
  15548.  
  15549.  
  15550.  
  15551.  
  15552.  
  15553.  
  15554.  
  15555.  
  15556.  
  15557.  
  15558.  
  15559.  
  15560.  
  15561.  
  15562.  
  15563.  
  15564.  
  15565.  
  15566.  
  15567.  
  15568.  
  15569.  
  15570.  
  15571.  
  15572.  
  15573.  
  15574.  
  15575.  
  15576.  
  15577.  
  15578.  
  15579.  
  15580.                                  - Page 260 -
  15581. Norton Guide: `FAST.lib 3.50 » Reference'
  15582.  
  15583.  
  15584. Menu Choice: Credits, Technical Notes
  15585.  
  15586.  
  15587.     Technical Notes
  15588.  
  15589.     Fast Library For Clipper, in older versions, was written in 100%
  15590.  CA-Clipper 5.x code. In the current version, a large portion of its code
  15591.  is written in C; for example, the mouse, communications, graphics, video,
  15592.  Sound Blaster, timer, CMOS, and other functions which either cannot be
  15593.  implemented in pure Clipper code or would not be fast enough. The standard
  15594.  CA-Clipper libraries do not support interrupts, and several functions
  15595.  in Fast Library For Clipper depend on interrupts.
  15596.  
  15597.     Fast Library For Clipper does not use either Public or Private
  15598.  variables, thus keeping memory overhead for the symbol table to a minimum
  15599.  and avoiding accidental assignments to variables internal to the functions.
  15600.  
  15601.     The library has been made more granular than in previous versions so
  15602.  that calls to Fast Library functions will cause a minimum of library
  15603.  code to be linked into your programs.
  15604.  
  15605.     Macros are not used in any Fast Library code.
  15606.  
  15607.     Fast Library functions which internally call other Fast Library
  15608.  functions use code blocks for passing information to one another.
  15609.  All arguments used when calling Fast Library functions from the user's
  15610.  code consist of numeric, character, logical, and array data types.
  15611.  
  15612.     The code used in both the printed documentation examples and the
  15613.  Norton Guide examples uses Hungarian notation because of its
  15614.  clarity and for consistency with most other CA-Clipper documentation.
  15615.  
  15616. See Also: "Copyright" "Thanks!" 
  15617.  
  15618.  
  15619.  
  15620.  
  15621.  
  15622.  
  15623.  
  15624.  
  15625.  
  15626.  
  15627.  
  15628.  
  15629.  
  15630.  
  15631.  
  15632.  
  15633.  
  15634.  
  15635.  
  15636.  
  15637.  
  15638.  
  15639.                                  - Page 261 -
  15640. Norton Guide: `FAST.lib 3.50 » Reference'
  15641.  
  15642.  
  15643. Menu Choice: Credits, About Language Support
  15644.  
  15645.  
  15646.   About Language Support
  15647.  
  15648.     Fast Library For Clipper supports a wide variety of languages for
  15649.  message text such as that used in dialog boxes. English is used by default.
  15650.  The desired language may be selected by simply calling one of the functions
  15651.  listed below.
  15652.  
  15653.  Available language modules are:
  15654.  
  15655.     SetAsturian()       SetBasque()        SetCatalan()
  15656.     SetEnglish()        SetFinnish()       SetFrench()
  15657.     SetGalician()       SetGerman()        SetItalian()
  15658.     SetLusitanian()     SetSpanish()       SetSwedish()
  15659.  
  15660.  Language modules in progress:
  15661.  
  15662.     Lithuanian()
  15663.  
  15664.  
  15665.  
  15666.  
  15667.  
  15668.  
  15669.  
  15670.  
  15671.  
  15672.  
  15673.  
  15674.  
  15675.  
  15676.  
  15677.  
  15678.  
  15679.  
  15680.  
  15681.  
  15682.  
  15683.  
  15684.  
  15685.  
  15686.  
  15687.  
  15688.  
  15689.  
  15690.  
  15691.  
  15692.  
  15693.  
  15694.  
  15695.  
  15696.  
  15697.  
  15698.                                  - Page 262 -
  15699. Norton Guide: `FAST.lib 3.50 » Reference'
  15700.  
  15701.  
  15702. Menu Choice: Credits, About Protected Mode
  15703.  
  15704.  
  15705.   About Protected Mode
  15706.  
  15707.     Fast Library For Clipper is compatible with all the popular linkers
  15708.  currently on the market. Blinker 1.x, Blinker 2.x, Blinker 3.x (real,
  15709.  protected, and dual mode), CA-ExoSpace, RTLink x.x , and WarpLink x.x
  15710.  are supported.
  15711.  
  15712.     Depending on which linker you use, simply link in the appropriate
  15713.  library as specified below.
  15714.  
  15715.     To link with Blinker 3.x (real, protected, and dual mode) you must
  15716.  specify the file apibli.lib in your script file or command line:
  15717.  
  15718.     BLINKER FI my_prog LIB Fast, apibli
  15719.  
  15720.        or
  15721.  
  15722.     BLINKER FI my_prog LIB Fast, apibli SEA blxclp52 BLI EXE EXT
  15723.  
  15724.  
  15725.     To link with Blinker 1.x, Blinker 2.x, RTLink x.x, or
  15726.  WarpLink x.x you must include the file apistd.lib in your script
  15727.  file or command line:
  15728.  
  15729.     BLINKER FI my_prog LIB Fast, apistd
  15730.  
  15731.        or
  15732.  
  15733.     RTLINK FI my_prog LIB Fast, apistd
  15734.  
  15735.        or
  15736.  
  15737.     WARPLINK FI my_prog LIB Fast, apistd
  15738.  
  15739.     To link with CA-ExoSpace you must use a command line (or an
  15740.  equivalent script file):
  15741.  
  15742.     EXOSPACE FI my_prog LIB Fast EXO PAC int10, Mouse
  15743.  
  15744.  
  15745.  
  15746.  
  15747.  
  15748.  
  15749.  
  15750.  
  15751.  
  15752.  
  15753.  
  15754.  
  15755.  
  15756.  
  15757.                                  - Page 263 -
  15758. Norton Guide: `FAST.lib 3.50 » Reference'
  15759.  
  15760.  
  15761. Menu Choice: Credits, New in this version
  15762.  
  15763.  
  15764.   New in this version
  15765.  
  15766.  
  15767.      From 3.00
  15768.  
  15769.         ■ Menuing system has been improved
  15770.  
  15771.         ■ VGA Graphic Mode Support rewritten, including the functions
  15772.           for pixels, lines, ellipses, circles, graphics, bars charts,
  15773.           pies charts, etc.
  15774.  
  15775.         ■ Multi-Linker Support (CA-ExoSpace; Blinker 1.x, 2.x, 3.0;
  15776.           RTLink x.x; and WarpLink x.x) has been added
  15777.  
  15778.         ■ C Optimizing Code Support has been added
  15779.  
  15780.         ■ Reboot() function has been changed to support both cold
  15781.           and warm-boot
  15782.  
  15783.         ■ CpuType() function has been rewritten
  15784.  
  15785.         ■ Italian Language Support bugs have been corrected
  15786.  
  15787.         ■ New function ChooseColor() has been added
  15788.  
  15789.         ■ Bug in function Like() has been corrected
  15790.  
  15791.         ■ Bug in function Serpent() has been corrected
  15792.  
  15793.         ■ Encrypt() and DeEncrypt() functions have been changed to
  15794.           allow multiple encryption with a password
  15795.  
  15796.         ■ New functions IsDPMI() and DPMIVersion() have been added
  15797.  
  15798.         ■ Corrected a bug in IsWin3()
  15799.  
  15800.         ■ New function WinVersion() has been added
  15801.  
  15802.         ■ New functions WinOpenClip(), WinCloseClip(), WinSetClip(),
  15803.           WinGetClip(), WinClipSize(), and WinDelClip() have been added
  15804.           for managing the Windows 3.x Clipboard from Clipper
  15805.  
  15806.         ■ New functions DrawBar() and BackGraph() have been added
  15807.           from the GraphBar ClipAPI
  15808.  
  15809.         ■ Fixed a bug in SetTime() function
  15810.  
  15811.         ■ New function IsPirate() has been added to protect Clipper
  15812.           programs from unauthorized use.  Programs can be executed only
  15813.           on a machine having a specific configuration
  15814.  
  15815.         ■ New function SetVerify() has been added
  15816.  
  15817.                                  - Page 264 -
  15818. Norton Guide: `FAST.lib 3.50 » Reference'
  15819.  
  15820.  
  15821.  
  15822.         ■ New function SetGray() has been added
  15823.  
  15824.         ■ MaxFiles() function name has been changed to FreeHandles()
  15825.  
  15826.         ■ New function GetEnviron() has been added
  15827.  
  15828.         ■ New function SToD() has been added
  15829.  
  15830.         ■ Function rSoftCur() has been changed to simulate a graphical
  15831.           mouse pointer in text mode; function rColors() is no longer
  15832.           necessary
  15833.  
  15834.         ■ More speed to ChooseColor()
  15835.  
  15836.         ■ New parameter in BoxQuery() and BoxWarning()
  15837.  
  15838.  
  15839.      From 3.11
  15840.  
  15841.         ■ Fixed a bug in CD Audio Support running in protected mode
  15842.  
  15843.         ■ Some internal functions has been rewriten to run faster
  15844.  
  15845.  
  15846.      From 3.12
  15847.  
  15848.         ■ Fixed a bug in RestArray() with multidimensional arrays
  15849.  
  15850.         ■ Text Editor addapted to MaxRow() & MaxCol() values
  15851.  
  15852.         ■ Fixed a bug in IsPrint() when it runs in protected mode
  15853.  
  15854.         ■ A new 3D graph gallery
  15855.           You can show 3D bar graphs, 3D top/down pyramidal bar graphs,
  15856.           3D cylindric bar graphs, 3D line graphs, 3D tart graphs,
  15857.           3D ellipse graphs...
  15858.  
  15859.         ■ New function Int2Roman() to convert integers to Roman notation
  15860.  
  15861.         ■ Fixed a bug in MSCDEXVer()
  15862.  
  15863.         ■ Fixed a bug in DiskSerNum() when it runs in protected mode
  15864.  
  15865.         ■ New functions ASCIIToEBCDIC() and EBCDICToASCII()
  15866.  
  15867.         ■ Fixed a bug in FSearch() function.
  15868.  
  15869.         ■ Fixed a little bug in the upper limit of GraphBar() functions
  15870.           when the array contains decimal values
  15871.  
  15872.         ■ New functions Caos()
  15873.  
  15874.         ■ New parameter cColor to Puzzle() function
  15875.  
  15876.  
  15877.                                  - Page 265 -
  15878. Norton Guide: `FAST.lib 3.50 » Reference'
  15879.  
  15880.  
  15881.         ■ Fixed a bug in the CD AUDIO initiation code
  15882.  
  15883.         ■ Fixed a bug in dToDMY() function
  15884.  
  15885.         ■ New function dToMDY()
  15886.  
  15887.         ■ Calendar() function addapted to Sunday, Monday, ... when the
  15888.           language selected is English
  15889.  
  15890.         ■ New functions BigLetter() & BigString()
  15891.  
  15892.         ■ New functions SmallLetter() & SmallString()
  15893.  
  15894.         ■ Function FastMemo() changed
  15895.  
  15896.         ■ New function SetHardCopy()
  15897.  
  15898.         ■ NewMenu() function has a new parameter to allow to create menus
  15899.           with shadow
  15900.  
  15901.         ■ New function InspectDBF()
  15902.  
  15903.         ■ New function InspectSETS()
  15904.  
  15905.         ■ New function InspectOBJ()
  15906.  
  15907.         ■ Fixed a bug in Like() function running in protected mode
  15908.  
  15909.         ■ Fixed a bug in pAddFile()
  15910.  
  15911.  
  15912.      From 3.15
  15913.  
  15914.         ■ New functions fGoTop(), fGoBottom(), fPos(), fEof()
  15915.  
  15916.         ■ New function fCopy()
  15917.  
  15918.         ■ New functions LowDiskSerial(), LowDiskFirm() & LowDiskModel()
  15919.           to identify the serial number, firmware and model of a hard disk
  15920.  
  15921.         ■ New function GetBaud()
  15922.  
  15923.         ■ CpuType() returns new values to identify 8088, 8086, 80286,
  15924.           80386, 80486, Pentium, 6tium-7tium-8tium-9tium when availables,
  15925.           NEC V20, NEC V30, 80188 and 80186.
  15926.  
  15927.         ■ Functions IsVGA(), IsEGA(), IsCGA() and IsHerc() rewrited
  15928.  
  15929.         ■ Fixed a bug in Lusitanian Support
  15930.  
  15931.         ■ New function to convert to Lotus WKS format
  15932.  
  15933.         ■ New function XCRC16() for XModem & ZModem
  15934.  
  15935.         ■ IsSmartDrv() addapted to 4.00+ API
  15936.  
  15937.                                  - Page 266 -
  15938. Norton Guide: `FAST.lib 3.50 » Reference'
  15939.  
  15940.  
  15941.  
  15942.         ■ New functions SmartSize(), SmartSizeWin(), SmartReset(),
  15943.           SmartFlush(), SmartHits() and SmartMisses() to control SmartDrv
  15944.           and PC Cache
  15945.  
  15946.         ■ New function VirCheck() to scan 100+ viruses as tequila, Flip,
  15947.           Jerusalem family, yankee, blinker, dbase, and more, much more
  15948.  
  15949.      From 3.20
  15950.  
  15951.         ■ Fixed bugs in German Support
  15952.  
  15953.         ■ Fixed bugs in Italian Support
  15954.  
  15955.         ■ Fixed bugs in French Support
  15956.  
  15957.         ■ Fixed a bug in ZipFile()
  15958.  
  15959.         ■ Fixed a problem in VirCheck() with Novell
  15960.  
  15961.         ■ New parameters to SetFont() and SetFontChar()
  15962.  
  15963.         ■ New function RealStars(), a real star field
  15964.  
  15965.         ■ nRandom() rewriten in C
  15966.  
  15967.         ■ Calendar() modified
  15968.  
  15969.      From 3.21
  15970.  
  15971.         ■ Fixed a bug in DispMenu()
  15972.  
  15973.         ■ New function compress() to de/compress files via Huffman method
  15974.  
  15975.         ■ New function CompNumber() to de/compress Clipper numbers
  15976.  
  15977.         ■ New function rVersion() to determine mouse driver version, mouse
  15978.           type and the IRQ used
  15979.  
  15980.         ■ New function SystemIdle() to control the application idle status
  15981.  
  15982.         ■ Fixed the Clipper v5.01 undefined module CLIP501 message
  15983.  
  15984.         ■ The code size has been reduced with the new C compiler options
  15985.           The code is more stable and compact
  15986.  
  15987.         ■ The internal screensaver engine has been rewrited. Now, is posible
  15988.           a full configuration of this system via DoIdle() function.
  15989.           The screensaver is sensible to the internal Clipper waitstates
  15990.           Now, the functions TimeScr() and AplicName() are not used
  15991.  
  15992.         ■ New functions DoIdle() and DoInterval()
  15993.  
  15994.         ■ Support for get/set the volume information of the Sound Blaster
  15995.  
  15996.  
  15997.                                  - Page 267 -
  15998. Norton Guide: `FAST.lib 3.50 » Reference'
  15999.  
  16000.  
  16001.         ■ Function sbCDVol() has been changed by sbCDVolL() and sbCDVolR()
  16002.  
  16003.         ■ Function sbRecScr() has been changed by sbRecScrL() and sbRecScrR()
  16004.  
  16005.         ■ Degrade() & Upgrade() functions has been rewrited and improved
  16006.           and now run fine in all the VGA cards
  16007.  
  16008.         ■ KeyStuff() has been rewrited in C
  16009.  
  16010.         ■ New parameter in sbVocPlay(), sbWavPlay(), dacVocPlay(),
  16011.           dacWavPlay(), spkVocPlay() & spkWavPlay().
  16012.  
  16013.         ■ VirCheck() now returns an array with logical values
  16014.  
  16015.  
  16016.  
  16017.  
  16018.  
  16019.  
  16020.  
  16021.  
  16022.  
  16023.  
  16024.  
  16025.  
  16026.  
  16027.  
  16028.  
  16029.  
  16030.  
  16031.  
  16032.  
  16033.  
  16034.  
  16035.  
  16036.  
  16037.  
  16038.  
  16039.  
  16040.  
  16041.  
  16042.  
  16043.  
  16044.  
  16045.  
  16046.  
  16047.  
  16048.  
  16049.  
  16050.  
  16051.  
  16052.  
  16053.  
  16054.  
  16055.  
  16056.                                  - Page 268 -
  16057. Norton Guide: `FAST.lib 3.50 » Reference'
  16058.  
  16059.  
  16060. Menu Choice: Credits, FAST.* Distributors
  16061.  
  16062.  
  16063.  
  16064.  
  16065.      FAST.* DISTRIBUTORS
  16066.  
  16067.  
  16068.      ■ Exclusive distributor North, South & Central America ■
  16069.  
  16070.      ZAC Catalog - Clipper only tools
  16071.      106 Access Road
  16072.      Norwood, MA 02062
  16073.      USA
  16074.      Phone 1-800-254-7737  Sales
  16075.      Phone 1-617-551-0860  Sales
  16076.      FAX   1-617-551-0857  Sales FAX
  16077.      FAX   1-717-551-0947  Technical Support FAX
  16078.  
  16079.  
  16080.      ■ Finland ■
  16081.  
  16082.      ATK-Antti Oy
  16083.      Lars J W Holm
  16084.      Pohjoistullikatu 12
  16085.      23500 Nystad
  16086.      FINLAND
  16087.      Phone +358 22 8415066
  16088.      FAX   +358 22 8415067
  16089.      BBS   +358 22 8418882
  16090.  
  16091.  
  16092.      ■ Nederland ■
  16093.  
  16094.      Micro Consult Nederland
  16095.      Miguel Oliveira
  16096.      Rhijngeesterstraalweg 78
  16097.      2343 BX Oegstgeest
  16098.      NEDERLAND
  16099.      Phone +31 71 170401
  16100.      FAX   +31 71 156154
  16101.      BBS   +31 71 157618
  16102.  
  16103.  
  16104.      ■ Italy ■
  16105.  
  16106.      Momos S.A.S.
  16107.      Patrizia Scharrer
  16108.      Via Palade 5
  16109.      39011 Lana (BZ)
  16110.      ITALY
  16111.      FAX   +39 473 560979
  16112.  
  16113.  
  16114.      ■ Belgium ■
  16115.  
  16116.                                  - Page 269 -
  16117. Norton Guide: `FAST.lib 3.50 » Reference'
  16118.  
  16119.  
  16120.  
  16121.      BUG, Belgian Clipper User Group
  16122.      Luc Charels
  16123.      Moerkerkse Steenweg 322
  16124.      B-8310 Brugge 3
  16125.      BELGIUM
  16126.      Phone +32 5035 7866
  16127.      FAX   +32 5037 2505
  16128.  
  16129.  
  16130.      ■ France ■
  16131.  
  16132.      DH Conseil
  16133.      Hubert DAUL Conseil
  16134.      14, Rue des Cités Dolfus - BP 71
  16135.      70400 Hericourt
  16136.      FRANCE
  16137.      Phone +33 84 46 37 76
  16138.      FAX   +33 84 46 18 02
  16139.  
  16140.  
  16141.      ■ España ■
  16142.  
  16143.      FAST.Software
  16144.      Manu Roibal
  16145.      Sagastagoitia 13 2º B izda
  16146.      Barakaldo 48903 Bizkaia
  16147.      SPAIN
  16148.      Phone +34 4 4992660
  16149.      FAX   +34 4 4605666
  16150.      BBS   +34 4 4605666
  16151.  
  16152.  
  16153.  
  16154.  
  16155.  
  16156.  
  16157.  
  16158.  
  16159.  
  16160.  
  16161.  
  16162.  
  16163.  
  16164.  
  16165.  
  16166.  
  16167.  
  16168.  
  16169.  
  16170.  
  16171.  
  16172.  
  16173.  
  16174.  
  16175.                                  - Page 270 -
  16176. Norton Guide: `FAST.lib 3.50 » Reference'
  16177.  
  16178.  
  16179.  
  16180.                                 I N D E X
  16181.                                 ---------
  16182.  
  16183.  
  16184.  
  16185. FAST.lib 1
  16186.     Data Types  ...................................................    2
  16187.     Dbf/Memo  .....................................................   51
  16188.     Disk and File  ................................................   53
  16189.     Games  ........................................................   81
  16190.     Graphics  .....................................................   87
  16191.     Keyboard  .....................................................  125
  16192.     LAN and Multitaskers  .........................................  133
  16193.     MetaFunctions  ................................................  143
  16194.  
  16195.  
  16196. FAST.lib 2
  16197.     Menus  ........................................................  162
  16198.     Mouse  ........................................................  169
  16199.     Printer  ......................................................  179
  16200.     Screen  .......................................................  185
  16201.     Serial Comunications  .........................................  202
  16202.     CD-Audio SB DAC Speaker  ......................................  214
  16203.     System  .......................................................  230
  16204.  
  16205.  
  16206. Credits
  16207.     Copyright  ....................................................  258
  16208.     Thanks!  ......................................................  259
  16209.     Technical Notes  ..............................................  261
  16210.     About Language Support  .......................................  262
  16211.     About Protected Mode  .........................................  263
  16212.     New in this version  ..........................................  264
  16213.     FAST.* Distributors  ..........................................  269
  16214.  
  16215.  
  16216.  
  16217.  
  16218.  
  16219.  
  16220.  
  16221.  
  16222.  
  16223.  
  16224.  
  16225.  
  16226.  
  16227.  
  16228.  
  16229.  
  16230.  
  16231.  
  16232.  
  16233.  
  16234.                                  - Page 271 -
  16235.